На Debian, как я добавляю пакет Python в dist-пакетах к virtualenv?

Нажмите клавишу Home, если это не слишком далеко. Или свяжите Ctrl+A:

set -o vi
bind '\C-a:beginning-of-line'
7
27.06.2012, 10:34
3 ответа
[118345] Я полагаю, что поскольку этот вопрос не решался больше года (по состоянию на март 2014 года), ни у кого нет ответа, то я напишу, как я вроде как решил эту проблему. [12401]Для пакетов, чей метод установки исходного текста уважает virtualenvs (numpy/scipy, pyside), используйте колеса, чтобы избежать необходимости пересборки в каждом венве.[12402]Для пакетов, которые не (GTK), это зависит от того, как они подключаются к питону.[118350].
1
27.01.2020, 20:19

Да, когда Ваш virtualenv активен, необходимо установить необходимый пакет с помощью distutils "нормальный" метод установки Python (python setup.py install), или с virtualenv осведомленным инструментом (например. pip install package).

Версия пакета, который Вы устанавливаете, будет активной версией пакета для virtualenv. Не имеет значения, создаете ли Вы использование virtualenv virtualenv MY_ENV или virtualenv --no-site-packages MY_ENV. В первом случае все пакеты, установленные в Вашей системе, Python будет доступен в virtualenv, но любой пакет, который Вы устанавливаете в virtualenv, замаскирует версию в Вашей системе Python, в то время как virtualenv активен. Во втором случае у Вас будет изолированная среда Python в virtualenv только со стандартными пакетами библиотеки и чем-либо, что Вы устанавливаете там доступный.

Знайте, что пакеты как Numpy и Scipy не обеспечивают предварительно созданные двоичные файлы на Linux, таким образом, необходимо будет быть удобным зданием их сами, если Вы не захотите использовать версии, доступные через Ваш диспетчер пакетов.

1
27.01.2020, 20:19
  • 1
    , который я знаю, как установить пакеты Python и иметь сборку numpy, scipy и т.д. ранее довольно много раз. Я очень просто использовал бы версии системы некоторых библиотек Python. Вопрос состоит в том, как я добавляю только некоторые системные библиотеки Python, не все (который я сделал ранее также). –  James Tocknell 04.07.2012, 08:56
  • 2
    , который я знаю, как установить пакеты Python и иметь сборку numpy, scipy и т.д. ранее довольно много раз. Я очень просто использовал бы версии системы некоторых библиотек Python. Вопрос состоит в том, как я добавляю только некоторые системные библиотеки Python, не все (который я сделал ранее также). –  James Tocknell 04.07.2012, 08:56
  • 3
    Кроме того, "нормальный" был предназначен использование покрытия distutils, setuptools/distribute, numpy.distutils, easy_install, упаковка, бенто и т.д., в противоположность управлению путем, смешивающему с importlib и подобный. –  James Tocknell 04.07.2012, 09:03
  • 4
    Если Вы не хотите делать $ virtualenv --no-site-packages MY_ENV cd MY_ENV source bin/activate и установите пакеты. Единственный путь I видит, чтобы сделать то, что Вы спрашиваете, должен создать virtualenv с --no-site-packages и затем скопируйте соответствующие каталоги пакета от своих системных пакетов сайта до пакетов сайта в virtualenv.. –  scottza 04.07.2012, 14:52

Как вы указываете, что делает колесо, часто лучше, особенно если вы переустановите на регулярной основе.

Для привязки GTK Python это не сработало для меня, и мне нужен какой-то способ тестирования кода, используя Tox (который строит VirtualenV для вас с пакетами - NNO-сайтами). Для целей тестирования было бы достаточно хорошо (для меня) ссылаться в соответствующие установленные системы, но не все из сайта-пакетов / DIST-пакеты .

Для этого я создал установочный пакет ( RUAMEL.VENVGTK ), который устанавливает правильные ссылки для Python2.7 и Python3.4 на системах на базе Debian (Ubuntu, Minux Mint). Это делает это во время настройки программы, поэтому нет необходимости менять вашу программу. Раздел TOX.INI TOX.INI раздел , выглядит как:

deps =
    pytest
    ruamel.venvgtk

и для любого VirtualenV созданного PIP будет установлен Ruamel.venvgtk и создать соответствующие ссылки.

3
27.01.2020, 20:19

Теги

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