Я не хочу мати справу з virtualenv для локальної установки Python, я просто хочу встановити кілька пакетів локально, не маючи справу зі PYTHONPATHзмінною оточення, як це зробити?
Я не хочу мати справу з virtualenv для локальної установки Python, я просто хочу встановити кілька пакетів локально, не маючи справу зі PYTHONPATHзмінною оточення, як це зробити?
Відповіді:
Python (станом на 2.6 та 3.0 ) тепер здійснює пошук у каталозі ~ / .local для локальних установок, для встановлення яких не потрібні адміністративні привілеї, тому вам просто потрібно вказати інсталятора на цей каталог.
Якщо ви вже завантажили пакет fooі хочете встановити його вручну, введіть:
cd path/to/foo
python setup.py install --user
Якщо ви використовуєте easy_install і хочете, щоб завантажений і встановлений пакет:
easy_install --prefix=$HOME/.local/ foo
Оновлення від RafiK
pip install --user foo
Наступна відповідь надана для історичних цілей: Це трохи більше роботи, якщо ви використовуєте pip для завантаження та встановлення:
pip install --install-option="--prefix=$HOME/.local" foo
pip install --user SomePackage (посилання на посібник) Використовуючи це, все повинно працювати з коробки навіть на різних ОС
Незважаючи на те, що мені подобається Python як мова, розповсюдження пакетів Python - це безлад. Я завжди знаходжу людей, не знайомих з Python, що бореться з цим.
Поруч із локальною інсталяцією користувача, як описано Ароном (використовуючи --user або --prefix), ще один варіант - EasyBuild ( http://hpcugent.github.com/easybuild/ ). Не тільки для пакетів Python, але і для будь-якого (наукового) програмного пакету. Після того, як EasyBuild має підтримку для цього, створення та встановлення програмного пакету - це в основному одна команда.
Перелік програмних пакетів, які зараз підтримуються, див. Https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages .
Відмова: Я розробник EasyBuild.
@Aron: Обов’язково додайте шлях до локальних пакетів сайтів до змінної середовища $ PYTHONPATH
--prefixопцію.
--system-site-packages?)