Как лучше всего установить пакеты Python в Ubuntu 11? Я недавно перешел на Ubuntu и хочу изучить лучшие практики.
Для контекста, я ищу установить пакет tweeststream, но я не видел его в моем менеджере пакетов Synaptic. Кроме того, я очень новичок в программировании, но я обычно могу следовать за примерами кода.
Я думаю, что лучшим способом для вас было бы установить систему упаковки Python типа «python-pip». Вы можете установить его с помощью Synaptic или Ubuntu Software Center.
Pip позволит вам легко устанавливать и удалять пакеты Python, просто как pip install package
. В вашем случае это будет что-то вроде этого из терминала:
sudo pip install tweeststream
В дополнение к ответу Zetah'a, команда для установки python-pip из терминала:
sudo apt-get install python-pip
В дополнение к добавлению Новарчибальда, как правило, хорошей идеей является создание виртуальной среды для вашего проекта Python и установка зависимостей внутри. Это позволяет вам лучше контролировать зависимости и их версии. Чтобы настроить виртуальную среду, введите:
virtualenv --no-site-packages --distribute my_python_project
Затем активируйте ее с помощью:
cd my_python_project
source bin/activate
На этом этапе все, что вы устанавливаете с помощью pip, будет храниться в этой виртуальной среде. Если вы хотите установить что-то глобально, то сначала вы должны выйти из virtualenv с помощью:
deactivate
Вы можете узнать больше о virtualenv здесь .
Попробуйте этот А платформа GUI для ЗЕРНЫШКА, разработанного с помощью PyQt4
А платформа GUI для ЗЕРНЫШКА, разработанного с помощью PyQt4
, экран "Пуск" содержит опции для пользователя выбрать процесс, он хочет быть вынесенным.
можно также указать версию Python, на который он хочет, чтобы операции были выполнены.
меню файла имеет опцию "Выйти" (ярлык: Ctrl+Q) и "Списки Обновления", который обновляет файлы ресурсов, содержащие данные пакета.
Установки экран установки имеет панель поиска, которую пользователь может использовать для поиска и установить желаемый пакет (пакеты).
Обновления отображения на экране обновления список пакетов, которые являются устаревшими и могут быть обновлены.
Удаления отображения на экране удаления список пакетов, которые установлены в системе пользователя и могут быть удалены.
Прогресса окно прогресса является встроенным терминальным виджетом для GUI зернышка, который отображает выполнение процессов при выполнении операций.
обновлено: 2018-08-17: начиная с conda-4.4.0 использовать анаконды с conda
по activate
на всех платформах
обновлено: 2017-03-27: двоичные файлы PEP 513 - manylinux
для PyPI
обновлено: 2016-08-19: опция Continuum Anaconda
This является несколько дубликатом easy_install / pip или apt-get .
Ubuntu использует Python для многих важных функций, поэтому вмешательство в Python может повредить вашу ОС , Это главная причина, по которой я никогда не использую pip
в своей системе Ubuntu, но вместо этого я использую либо Ubuntu Software Center, synaptic , apt-get
, либо более новую версию apt
, которую все по умолчанию устанавливают пакеты из хранилища Ubuntu . Эти пакеты тестируются, как правило, предварительно скомпилированы, поэтому они устанавливаются быстрее и в конечном итоге предназначены для Ubuntu. Кроме того, все необходимые зависимости также установлены и ведется журнал установок, чтобы их можно было откатить. Я думаю, что большинство пакетов имеют соответствующие репозитории Launchpad , так что вы можете подавать проблемы.
Другая причина использования пакетов Ubuntu заключается в том, что иногда эти пакеты Python имеют разные имена в зависимости от того, откуда вы их загрузили. Python-chardet - это пример пакета, который одно время назывался в PyPI одним именем, а в репозитории Ubuntu - другим. Поэтому, если вы сделаете что-то вроде pip install requests
, вы не поймете, что chardet уже установлен в вашей системе, потому что версия Ubuntu имеет другое имя, и, следовательно, установите новую версию, которая повредит вашу систему незначительным незначительным образом, но все же зачем вам это делать .
Как правило, вы хотите установить только доверенный код в вашу ОС. Итак, вы должны нервничать из-за набора текста $ sudo pip <anything-could-be-very-bad>
.
И наконец, некоторые вещи проще установить с помощью пакетов Ubuntu. Например, если вы попытаетесь pip install numpy
установить numpy & amp; scipy, если вы уже не установили gfortran, atlas-dev, blas-dev и lapack-dev, вы увидите бесконечный поток ошибок компиляции. Тем не менее, установка NumPy & amp; Скопировать в хранилище Ubuntu так же просто, как ...
$ sudo apt-get install python-numpy python-scipy
Вам повезло, потому что вы используете Ubuntu, один из наиболее широко поддерживаемых и часто обновляемых существующих дистрибутивов. Скорее всего, каждый пакет Python, который вам понадобится, находится в репозитории Ubuntu и, вероятно, уже установлен на вашем компьютере. И каждые 6 месяцев будет выпущен новый цикл пакетов с последним дистрибутивом Ubuntu.
Если вы на 100% уверены, что пакет никак не повлияет на вашу систему Ubuntu, то вы можете установить его с помощью pip, и Ubuntu достаточно хорош, чтобы отделить эти пакеты от пакетов дистрибутивов, поместив пакеты дистрибутивов в папка с именем dist-packages/
. В хранилище Ubuntu есть как pip, virtualenv, так и setuptools. Однако я поддерживаю предложение Войцеха использовать virtualenv.
Если вам нужна последняя версия, или модуль отсутствует в репозитории Ubuntu, тогда запустите virtualenv и используйте pip для установить пакет. Несмотря на то, что pip и setuptools объединены, IMO pip предпочтительнее, чем easy-install или distutils, потому что он всегда будет ждать, пока пакет полностью не будет загружен и собран, прежде чем скопировать его в вашу файловую систему, и он обновляет или удаляет бриз. Во многих отношениях он похож на apt-get в том смысле, что он обычно хорошо обрабатывает зависимости. Однако вы будете s> , возможно, придется самостоятельно обрабатывать некоторые зависимости, , но с тех пор, как был принят PEP 513 , в пакете Python теперь есть manylinux
двоичные файлы Index (PyPI) для популярных дистрибутивов Linux, таких как Ubuntu и Fedora . например, как указано выше для NumPy и SciPy, убедитесь, что вы установили gfortran, atlas-dev, blas- dev и lapack-dev из репозитория Ubuntu s> Например, NumPy и SciPy теперь распространяются для Ubuntu как колеса manylinux
по умолчанию используя OpenBLAS вместо ATLAS. Вы все еще можете построить их из источника, используя опции pip --no-use-wheel
или --no-binary <format control>
.
~$ sudo apt-get install gfortran libblas-dev liblapack-dev libatlas-dev python-virtualenv
~$ mkdir ~/.venvs
~$ virtualenv ~/.venvs/my_py_proj
~$ source ~/.venvs/my_py_proj/bin/activate
~(my_py_proj)$ pip install --no-use-wheel numpy scipy
См. Следующий раздел «Вы не в sudoers
» ниже, чтобы установить обновленные версии pip, setuptools, virtualenv или wheel в личный профиль с помощью --user
Схема установки с пипсами. Вы можете использовать это для обновления пипса для личного использования как J.F. Себастьян указал в своем комментарии на другой ответ . ПРИМЕЧАНИЕ: -m
действительно необходимо только в MS Windows при обновлении pip .
python -m pip install --user pip setuptools wheel virtualenv
Более новые версии pip автоматически кэшируют колеса, поэтому следующее полезно только для более старых версий pip. Поскольку вы можете в конечном итоге установить их много раз, рассмотрите возможность использования колеса с pip для создания рулевой рубки. Колесо уже включено в virtualenv
начиная с версии 13.0.0 , поэтому, если ваша версия virtualenv
устарела, вам может потребоваться сначала установить колесо.
~(my_py_proj)$ pip install wheel # only for virtualenv < v13.0.0
~(my_py_proj)$ pip wheel --no-use-wheel numpy scipy
Это создаст двоичные файлы колес в <cwd>/wheelhouse
, используйте -d
, чтобы указать другой каталог. Теперь, если вы запускаете другой virtualenv и вам нужны те же пакеты, которые вы уже собрали, и вы можете установить их из своей рулевой рубки, используя pip install --find-links=<fullpath>/wheelhouse
Читать Установка модулей Python в документации по Python и Получить пакеты на главной странице индекса пакетов Python. Также пип , virtualenv и колесо .
sudoers
, и virtualenv
не установлены. Другой вариант использования виртуальной среды, или если вы используете общий ресурс Linux без привилегий root, то используйте схемы установки --user
или --home=<wherever-you-want>
Python с distutils
Python установит пакеты со значением site.USERBASE
или куда вы хотите. Более новые версии pip также имеют опцию --user
. Не используйте sudo
!
pip install --user virtualenv
Если ваша версия pip для Linux устарела, вы можете передать параметры настройки, используя --install-option
, что полезно для передачи пользовательских опций в некоторые скрипты setup.py
для некоторых пакетов, которые создают расширения, например, для установки PREFIX
. Возможно, вам придется просто распаковать дистрибутив и использовать distutils
для установки пакета старой школой, набрав python setup install [options]
. Чтение некоторых из документации по установке и distutils
документации может помочь.
Python достаточно хорош, чтобы добавить site.USERBASE
к вашему PYTHONPATH
впереди всего остального, поэтому изменения будут влиять только на вас. Популярное место для --home
- ~/.local
. См. Руководство по установке модуля Python для точной структуры файла и, в частности, где находятся ваши site-пакеты. Примечание : если вы используете схему установки --home
, вам может потребоваться добавить ее в переменную среды PYTHONPATH
, используя export
в вашем .bashrc
, .bash_profile
или в вашей оболочке, чтобы ваши локализованные пакеты были доступны в Python.
Если вы используете Python для математических, естественных наук или данных, то IMO действительно хороший вариант: Anaconda-Python Distribution или более базовый miniconda distro , выпущенный Anaconda, Inc. (ранее известный как Continuum Analytics ) . Хотя использование Anaconda для личных проектов может принести пользу любому, установка по умолчанию включает более 500 математических и научных пакетов, таких как NumPy, SciPy, Pandas и Matplotlib , в то время как miniconda устанавливает только Anaconda-Python и менеджер среды conda. Anaconda устанавливается только в ваш личный профиль, т.е. /home/<user>/
и изменяют ваш ~/.bashrc
или ~/.bash_profile
, чтобы указать путь Anaconda к вашему личному $PATH
s> , рекомендует источник conda.sh
в вашем ~/.bashrc
, который позволяет вам использовать conda activate <env|default is base>
для запуска анаконды - это влияет только на вас - ваш системный путь не изменился . Поэтому вам не требуется доступ к root или sudo
для использования Anaconda! Если вы уже добавили Anaconda-Python, miniconda или conda в свой личный путь, то вам следует удалить PATH
экспортируйте из ~/.bashrc
и обновите до новой рекомендации , чтобы ваш системный Python снова был первым.
Это несколько похоже на опцию --user
, которую я объяснил в последнем разделе, за исключением того, что она применяется к Python в целом, а не только к пакетам. Поэтому Anaconda полностью отделена от вашей системы Python , она не будет мешать вашей системе Python, и только вы можете использовать или изменять ее. Поскольку он устанавливает новую версию Python и все его библиотеки, вам потребуется не менее 200 МБ свободного места, но он очень умен в отношении кэширования и управления библиотеками, что важно для некоторых интересных вещей, которые вы можете делать с Anaconda.
Anaconda курирует коллекцию двоичных файлов и библиотек Python, необходимых для зависимостей в онлайн-хранилище (ранее называлось binstar ) , и они также размещают пользовательские пакеты как разные «каналы». Менеджер пакетов, используемый Anaconda, conda
, по умолчанию устанавливает пакеты от Anaconda, но вы можете сигнализировать о другом «канале», используя опцию -c
.
Установите пакеты с conda
так же, как pip
:
$ conda install -c pvlib pvlib # install pvlib pkg from pvlib channel
Но conda
может сделать намного больше! Он также может создавать виртуальные среды и управлять ими, как virtualenv
. Поэтому, поскольку Anaconda создает виртуальные среды, менеджер пакетов pip
можно использовать для установки пакетов из PyPI в среду Anaconda без root или sudo
. не использовать sudo
с Анакондой! Предупреждение! Будьте осторожны, хотя при смешивании pip
и conda
в среде Anaconda, b / c, вам придется более тщательно управлять зависимостями пакетов. Другой вариант pip
в среде conda - использовать канал conda-forge , но также лучше всего это делать в свежей среде conda с conda-forge в качестве канала по умолчанию. В крайнем случае, если вы не можете найти пакет нигде, кроме PyPI, рассмотрите возможность использования --no-deps
, а затем установите оставшиеся зависимости вручную, используя conda
.
Анаконда также в чем-то похожа на Ruby RVM , если вы знакомы с этим инструментом. Anaconda conda
также позволяет создавать виртуальные среды с различными версиями Python . EG : conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
создаст стек науки / данных с использованием Python-3.5 в новой среде под названием py35sci
. Вы можете переключать среды, используя conda
. Начиная с conda-4.4.0, теперь это отличается от и virtualenv
, который использует source venv/bin/activate
, но до conda-4.4.0 команды conda
, где ] тот же , что и virtualenv
и также использовал source
:
# AFTER conda-4.4
~/Projects/myproj $ conda activate py35sci
# BEFORE conda-4.4
~/Projects/myproj $ source activate py35sci
Но подождите, это еще не все! Anaconda также может устанавливать различные языки, такие как R для статистического программирования из канала Anaconda r
. Вы даже можете настроить свой собственный канал для загрузки дистрибутивов пакетов , созданных для conda . Как уже упоминалось , conda-forge поддерживает автоматическую сборку многих пакетов на PyPI на канале Anaconda conda-forge .
Существует множество вариантов поддержки ваших проектов Python в Linux в зависимости от ваших личных потребностей и доступа. Тем не менее, если есть что-то, что, я надеюсь, вы откажетесь от этого ответа, это то, что вам почти никогда не нужно использовать sudo
для установки пакетов Python . Использование sudo
должно быть запахом для вас, что что-то не так. Вы были предупреждены.
Удачи и удачного кодирования!