Каков наилучший способ установки пакетов Python?

Удаление PPA с ppa-purge

Неправильно отключить любой PPA, добавленный в наши источники, удалив его из sources.list или отделив PPA в наших настройках Software Sources. Тогда было бы гораздо лучшей идеей также удалить все пакеты, которые были установлены из этого PPA, и заменить их на пакеты по умолчанию Ubuntu.

Для этого у нас есть сценарий ppa-purge, который не только удалит нежелательный PPA, но также заменит пакеты, которые были установлены из этого PPA по умолчанию Ubuntu. После установки просто запустите

sudo ppa-purge ppa:<lp-name>/<ppa-name>

, где <lp-name>/<ppa-name> - это то же имя, которое мы ввели в наши источники при добавлении этого PPA. Затем PPA будет удален. Пакеты, установленные из этого PPA, будут заменены по умолчанию пакетами Ubuntu (установленные пакеты, которые не находятся в репозиториях по умолчанию, не будут удалены).

1
задан 20 August 2016 в 00:50

3 ответа

обновлено: 2017-03-27: Пеп 513 - [ф7] файлы для PyPI

обновлено: 2017-03-27: Пеп 513 - [ф7] файлы для PyPI

это несколько дубликата easy_install/PIP или apt-получить.

для глобальных пакеты Python, использовать Центр приложений Ubuntu, АПТ, АПТ-вам или synaptic

Ubuntu использует Python для многих важных функций, поэтому именно с Python может повредить вашей ОС. Это главная причина, я никогда не использую [ф8] в моей системе Ubuntu, но вместо этого я использовать Центр приложений Ubuntu, easy_install/PIP или apt-получить, [ф9], или новее просто [F10] для того, что все по умолчанию установить пакеты через репозитории Ubuntu. Эти пакеты, как правило, предварительно составлено так, они устанавливаются быстрее и в конечном счете предназначены для Ubuntu. Кроме того, все требуемые зависимости установлены и журнал устанавливает поддерживается, так что они могут быть свернуты. Я думаю, что большинство пакетов имеют соответствующий launchpad в РЕПО, так что вы можете файл проблемы.

еще одна причина для использования пакетов Ubuntu в том, что иногда эти пакеты Python имеют разные названия в зависимости от того, где вы загрузили их. В Python-chardet пример пакета, которая в свое время была названа одна вещь на PyPI и другое дело в репозитарии Ubuntu. Поэтому делать что-то вроде [ф11] не понимают, что chardet уже установлен в вашей системе, потому что Ubuntu-версия имеет другое название, и, следовательно, установить новую версию, которая приведет к повреждению вашей системы в Малой незначительной мере но все же зачем ты это сделал.

в общем вы только хотите установить надежный код в вашей ОС. Так что вы должны нервничать о вводе [ф12].

и, наконец, некоторые вещи просто легче устанавливать используя либо пакеты Ubuntu. Например, если вы попробовать [от f13], чтобы установить numpy & составляющей, если у вас уже установлен компилятором gfortran, атлас-дев, блас-dev и lapack-дев, вы увидите бесконечный поток ошибок компиляции. Однако, установки numpy & составляющей через репозиторий Ubuntu-это так просто, как...

[Ф1] [dиода d17]Вы находитесь в удаче, потому что вы используете Ubuntu, одним из наиболее широко поддерживаемых и часто обновляются существующие дистрибутивы. Скорее всего, каждый пакет Python вам понадобится есть в репозитарии Ubuntu, и скорее всего уже установлен на вашем компьютере. И каждые 6 месяцев, новый цикл пакеты будут выпущены новейшие дистрибутивы Ubuntu.[!dиода d17]

если вы на 100% уверены, что пакет не будет вмешиваться в вашу систему Ubuntu в любом случае, то вы можете установить его с помощью PIP и Ubuntu достаточно хороший, чтобы держать эти пакеты отдельно от дистрибутива пакеты поместив пакеты дистрибутива в папку под названием [ф14]. Репозитории Ubuntu есть как в PIP, virtualenv и setuptools. Однако, я второе предложение Войцеха для использования virtualenv.

для глобальные проекты на Python пользоваться PIP и колеса в виртуальное окружение

если вам нужна последняя версия, или модуль отсутствует в репозитарии Ubuntu затем начать использовать virtualenv и PIP, чтобы установить пакет. Хотя PIP и setuptools слили, ИМО PIP является более предпочтительным по сравнению с простой установки или distutils, потому что он всегда будет ждать, пока пакет будет полностью загружен и причине перед копированием его в файловой системе, и это делает обновление или удаление ветерок. Во многом он похож на apt-получить, в которые он обычно обрабатывает зависимостей хорошо. Однако вы можете иметь обрабатывать некоторые зависимости самостоятельно, но так как Пеп 513 был принят сейчас [ф15] двоичные файлы в каталог пакетов Python (PyPI) для популярных дистрибутивов Linux, как Ubuntu и Fedora. например, как упоминалось выше, для numpy и scipy убедитесь, что вы установили компилятором gfortran, атлас-дев, блас-dev и lapack-dev из репозитория убунту например, репозиторий для Ubuntu и scipy сейчас распространены для Ubuntu как [ф16] колеса вы должны нервничать с помощью OpenBLAS вместо атласа. Вы все еще можете построить их из источника с помощью зигзаг.

[Ф2]

см. следующий раздел, "ты не в [зг19]", ниже для установки обновленных версий Пип setuptools, виртуальное окружение или колесные диски для вашего может профиль с помощью схема установки [ф20] с PIP. Вы можете использовать это, чтобы обновить PIP для личного использования в качестве составляющей. Примечание: [клавиши f21] действительно необходимо только на MS Windows при обновлении типун.

[Ф3]

новые версии Пип автоматически кэш колеса, поэтому ниже только для старых версий Пип. Так как вы можете в конечном итоге установка эти много раз, рекомендуется использовать колесо с PIP для создания рубке. Примечание: [клавиши f21] действительно необходимо только на MS Windows при обновлении типун. поэтому если ваша версия [ф23] слишком стар, может потребоваться установка первого колеса.

[Ф4]

это позволит создать бинарные файлы Wheel в [ф24], использовать [f25 привод датчика], чтобы указать другой каталог. Теперь если вы запустите другой virtualenv и вам нужны те же пакеты, которые вы уже создали его, и вы можете установить их из своей рубки, используя [ф26]

[и D40]читать установке модулей Python в документации Python и получить пакеты на главной странице индекса пакет Python. Также в PIP, virtualenv и колеса.[!и D40]

если ты не в sudoers и [ф28] не установлено.

еще один вариант с использованием виртуальной среде, или если вы используете долей Linux без прав суперпользователя, то с помощью [dрайвер d41]Установка модулей Python[!dрайвер d41] или [f30 с] схемы установки Python с [ф31 в Python] будут установлены пакеты, чтобы значение получить пакеты или туда, куда вы хотите. Новые версии PIP также имеют опцию --user. новые версии типун автоматически кэш колеса, поэтому ниже только для старых версий Пип.

[ф5] [о d54]если ваша Linux-версии PIP-это слишком старый, то можно передавать параметры с помощью [f30 с], который пригодится для прохождения пользовательских настроек в некоторых [f36 в] скрипты для некоторых пакетов, которые строят расширения, такие как установка [фунции f37]. Возможно, нужно только извлечь их распределения и использования distutils для установки пакета старый способ, вписав [ф39]. Прочтения некоторых установите документации и [d43 см.]Пип[!d43 см.] может помочь.[!о d54]

Python является достаточно хорошим, чтобы добавить установите документации в ваш --user впереди всего остального, поэтому изменения будут только у вас. Популярным местом для --home это [пулемет f44]. См. руководство по установке модуль Python для точного структуру файл и где конкретно вашего сайта-пакеты. Примечание: если вы используете схемы установки [f45 с], то вы можете добавить его в виртуальное окружение переменная окружения, используя export в ваш колеса, .bash_profile или в командной строке для локального pacakges будет доступен в Python.

использовать sudoers для личных проектов

еще один относительно новый вариант, который может быть доступен вам руководство по установке модуля. Анаконда устанавливается только в Вашем личном профиле, Примечание [ф50] и изменяет свой ~/.bashrc или ~/.bash_profile в начале пути Анаконда предметов $PATH - это влияет только на нервный - ваш путь система остается неизменной. Поэтому вам не нужен root-доступ или sudo, чтобы использовать Анаконда! Вы можете изменить эту ситуацию путем удаления новый путь экспорта для Анаконды из своего [f55, которая] или ~/.bash_profile и тогда ваша система Python будет первый раз.

это несколько похоже на опцию --user я объяснил в предыдущем разделе, кроме он распространяется на Python в целом, а не только пакетов. Поэтому Анаконда - это касается только нервный - ваш путь системы остается неизменной, это не мешает системе Python и только вы можете изменить его. Поскольку он устанавливает новую версию Python и все его библиотеки, вам понадобится не менее 200 Мб номера, но это не очень умно кэширования и управления библиотеками, что важно для некоторых интересных вещей, которые можно сделать с помощью anaconda.

континуум курирует коллекцию питона исполняемые файлы и библиотеки, необходимые зависимостей в онлайн-хранилище под названием "Анаконда" бинстар. Менеджер пакетов используется Анаконда, conda, используется для установки пакетов из Анаконды бинстар. Но conda может сделать гораздо больше, чем просто установить пакеты, он также может создавать и управлять виртуальными средами как [от f60]. Поэтому с Анаконда создает виртуальных средах [ф61] менеджер пакетов может быть использован для установки пакетов из PyPI в среде Анаконда без root или sudo. Не используйте sudo с Анаконда!

[кадрах, снятых D80]Анаконда тоже похожи на Анаконда бинстар если вы знакомы с этим инструментом. Анаконда [64-го фокуса также позволяет создавать виртуальные среды с не. Например: [f65 в] будет создана научная/данных стека с помощью Python-3.5 в новой среде под названием py35sci. Вы можете переключиться условиях, аналогичных virtualenv в поиске [f68 не] сценарий:[!кадрах, снятых D80] [ф6]

но подождите, есть больше! Анаконда также можете установить различные языки, такие как R для статистического программирования канала r. Кроме того, Анаконды делит бинстар в разных например, , который позволяет избежать имена столкновения. Вы даже можете создать свой собственный канал, чтобы загрузить пакеты, используя стадион conda построить протокола. На самом деле есть канал, который называется [d64 с]export[!d64 с] на стадион conda-фордж, который поддерживает автоматические сборки многих пакетов на PyPI.

Эпилог

существует множество вариантов для поддержания вашего проекты Python на Linux в зависимости от ваших личных потребностей и доступа. Однако, если есть одна вещь, я надеюсь, вы вынесете из этого ответа заключается в том, что вы должны почти никогда не нужно использовать [р70], чтобы установить пакеты Python. Использование sudo должен быть запах, чтобы вы что-то неладно. Вы были предупреждены.

удачи и счастливого кодинга!

30
ответ дан 25 May 2018 в 15:14
  • 1
    Хотелось бы, чтобы я прочитал это, прежде чем я уничтожил дистрибутив Python моей системы sudo, используя pip. Отличная запись, спасибо за эту информацию. – slhck 27 March 2017 в 15:23
  • 2
    pip install numpy должен установить все зависимости – Timo 25 March 2018 в 15:37
  • 3
    @Timo, как я упоминал в обновлении 2017-03-27, поскольку PEP 513 был реализован с помощью manylinux бинарные файлы numpy доступны в PyPI , которые построены с OpenBLAS, , т. е. : они имеют необходимые зависимости. Однако, как правило, pip install <package> будет устанавливать только зависимости Python, перечисленные в разделе install_requires раздела setup.py. Например: установка Jupyter не будет устанавливать библиотеку Haskell pandoc для экспорта ноутбуков Jupyter в качестве LaTeX и т. Д. – Mark Mikofski 27 March 2018 в 19:20
  • 4
    Напротив, conda install <package>, вероятно, установит все зависимости, в том числе C / C ++, FORTRAN и т. Д., Даже библиотеки Haskell, поскольку conda не просто управляет пакетами Python, такими как pip, он управляет средами. Итак, если у вас есть Anaconda или miniconda, тогда conda install Jupyter устанавливает все в файле рецепта , включая библиотеку pandoc Haskell . Для получения дополнительной информации см. PyPA – Mark Mikofski 27 March 2018 в 19:49

В дополнение к дополнению Novarchibald, как правило, неплохо создать виртуальную среду для вашего проекта python и установить зависимости внутри. Это позволяет вам лучше контролировать зависимости и их версии. Чтобы настроить виртуальную среду, введите:

virtualenv --no-site-packages --distribute my_python_project

Затем активируйте ее с помощью:

cd my_python_project
source bin/activate

. В этот момент все, что вы устанавливаете с помощью pip, будет храниться внутри этого виртуального Окружающая среда. Если вы хотите установить что-то глобально, вы должны сначала выйти из virtualenv с помощью:

deactivate

Здесь вы можете узнать больше о virtualenv.

9
ответ дан 25 May 2018 в 15:14
  • 1
    Альтернативно: используя пипс из каталога virtualenv bin (здесь my_python_project / bin / pip), вы поддерживаете эту среду без необходимости «активировать», Это. Затем - используя любой скрипт, установленный в bin, используется данный virutalenv. & Quot; активировать & Quot; удобно только для вызова «python», «easy_install» и т. д. и "пип" используя виртуальный bin. – Jan Vlcinsky 17 June 2013 в 16:54
  • 2
    В документах по установке Python говорится, что они используют «pyvenv». создавать виртуальные среды, специфичные для проекта; но что virtualenv - это откат для проектов, использующих более старую версию python, docs.python.org/3/installing/index.html?highlight=pip . – pbhj 25 November 2014 в 05:03
  • 3
    Обратите внимание, что опции virtualenv --no-site-packages и --distribute устарели и не имеют никакого эффекта. – Forage 8 August 2015 в 17:41

В дополнение к ответу Zetah'a, команда для установки python-pip из терминала:

sudo apt-get install python-pip
4
ответ дан 25 May 2018 в 15:14

Другие вопросы по тегам:

Похожие вопросы: