Как правильно установить pip, virtualenv и распространять для Python?

247

Короткий вопрос

Задний план

В моем ответе на вопрос 4314376 SO я рекомендовал использовать его, ez_setupчтобы вы могли установить его, pipи выполните virtualenvследующие действия:

curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv

Первоначально я взял эти инструкции из поста Джесси Ноллера в блоге. Итак, вы хотите использовать Python на Mac? , Мне нравится идея сохранения чистой глобальной директории site-packages, поэтому единственные другие пакеты, которые я устанавливаю, есть virtualenvwrapperи distribute. (Я недавно добавил distributeк своему набору инструментов из-за этого публичного объявления Python . Чтобы установить эти два пакета, я использовал:

sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py

Нет больше setuptools и easy_install

Чтобы действительно следовать этому объявлению Python для публичной службы при новой установке Python, я бы сделал следующее:

curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper

Упрек Глифа

В комментарии к моему ответу на вопрос 4314376 SO пользователь Glyph заявил:

NO. НИКОГДА не делай sudo python setup.py installчто- нибудь . Напишите ~ / .pydistutils.cfg, который помещает вашу установку pip в ~ / .local или что-то в этом роде. Особенно названные файлы ez_setup.pyимеют тенденцию высасывать более новые версии таких вещей, как setuptools и easy_install, которые потенциально могут сломать другие компоненты вашей операционной системы.

Вернуться к короткому вопросу

Таким образом , ответ Глифа приводит меня к моему первоначальному вопросу:

Мэтью Ранкин
источник
Мэтью, я знаю, что эта ветка довольно старая. Но есть ли что-нибудь новое на этом фронте? Это все еще плохая идея, за которой python distribute_setup.pyследует easy_install pipи virtualenv --distribute venv? (см. python-guide.readthedocs.org/en/latest/starting/install/… ), и если да, то почему?
Амелио Васкес-Рейна
2
Что не так с sudo apt-get install python-{pip,virtualenv}???
МестреЛион
1
Да, как правило, старые, но совместимые пакеты хороши, когда второстепенные версии не имеют значения для ваших целей, но вы специально спросили «что не так», и я пытаюсь получить свой педантный значок.
2
FYI, несколько ссылок на этот вопрос в настоящее время устарели / сломаны - я в настоящее время (не может) увидеть те , чтобы pip, virtualenvи Python PSA.
Крис Спраг
1
http://python-distribute.org/distribute_setup.pyперенаправляет на 404 :(
джиттер

Ответы:

173

Вы можете сделать это, не устанавливая ничего в сам Python.

Вам не нужны sudo или какие-либо привилегии.

Вам не нужно редактировать какие-либо файлы.

Установите virtualenv в виртуальную среду начальной загрузки. Используйте эту виртуальную среду, чтобы создать больше. Поскольку virtualenv поставляется с pip и дистрибутивом, вы получаете все за одну установку.

  1. Скачать virtualenv:
  2. Распакуйте исходный архив
  3. Используйте распакованный архив, чтобы создать чистую виртуальную среду. Эта виртуальная среда будет использоваться для «начальной загрузки» других. Все ваши виртуальные среды будут автоматически содержать pip и распространяться.
  4. Используя pip, установите virtualenv в эту среду начальной загрузки.
  5. Используйте эту среду начальной загрузки, чтобы создать больше!

Вот пример в bash:

# Select current version of virtualenv:
VERSION=12.0.7
# Name your first "bootstrap" environment:
INITIAL_ENV=bootstrap
# Set to whatever python interpreter you want for your first environment:
PYTHON=$(which python)
URL_BASE=https://pypi.python.org/packages/source/v/virtualenv

# --- Real work starts here ---
curl -O $URL_BASE/virtualenv-$VERSION.tar.gz
tar xzf virtualenv-$VERSION.tar.gz
# Create the first "bootstrap" environment.
$PYTHON virtualenv-$VERSION/virtualenv.py $INITIAL_ENV
# Don't need this anymore.
rm -rf virtualenv-$VERSION
# Install virtualenv into the environment.
$INITIAL_ENV/bin/pip install virtualenv-$VERSION.tar.gz

Теперь вы можете использовать свою среду начальной загрузки, чтобы создать больше:

# Create a second environment from the first:
$INITIAL_ENV/bin/virtualenv py-env1
# Create more:
$INITIAL_ENV/bin/virtualenv py-env2

Сходить с ума!

Заметка

Это предполагает, что вы не используете действительно старую версию virtualenv. Старые версии требовали флагов --no-site-packges(и в зависимости от версии Python --distribute). Теперь вы можете создать свою среду начальной загрузки с помощью просто python virtualenv.py path-to-bootstrapили python3 virtualenv.py path-to-bootstrap.

Уокер Хейл IV
источник
13
Утомительно только потому, что оно очень универсальное, просто скачивается, распаковывается и python virtualenv.py TARGET_DIRECTORYделает то же самое.
Себастьян Бласк
3
Это великолепно. Я адаптировал его, чтобы ответить на мой более конкретный вопрос об установке virtualenv на несколько версий Python независимо от системных пакетов - stackoverflow.com/questions/6812207/… - работает отлично.
Давид.Libremone
6
примечание: текущему virtualenvне нужны опции --no-site-packages --distribute. Противоположное --system-site-packagesможет потребоваться
JFS
1
Вы можете получить последний стабильный тарбол с этой командой:curl -Lo virtualenv-tmp.tar.gz 'https://github.com/pypa/virtualenv/tarball/master'
Бор
1
Где вы устанавливаете virtualenvwrapper? Документы предупреждают специально, чтобы не устанавливать его в virtualenv (хотя, похоже, это работает ).
Арье Лейб Таурог
21

Я думаю, что Glyph означает сделать что-то вроде этого:

  1. Создайте каталог ~/.local, если он еще не существует.
  2. В ваших ~/.bashrc, убедитесь , что ~/.local/binна PATHи ~/.localна PYTHONPATH.
  3. Создайте файл, ~/.pydistutils.cfgкоторый содержит

    [install]
    prefix=~/.local

    Это стандартный файл формата ConfigParser.

  4. Скачать distribute_setup.py и запустить python distribute_setup.py(нет sudo). Если он жалуется на несуществующийsite-packages каталог, создайте его вручную:

    mkdir -p ~ / .local / lib / python2.7 / site-packages /

  5. Запустите, which easy_installчтобы убедиться, что это исходит от~/.local/bin

  6. Бегать pip install virtualenv
  7. Бегать pip install virtualenvwrapper
  8. Создайте виртуальную папку, содержащую env, скажем ~/.virtualenvs
  9. В ~/.bashrcдобавлении

    export WORKON_HOME
    source ~/.local/bin/virtualenvwrapper.sh

Вот и все, никакой пользы нет, sudoи ваша среда Python ~/.localполностью отделена от Python операционной системы. Отказ от ответственности: Не уверен, насколько совместим virtualenvwrapperв этом сценарии - я не мог проверить это на моей системе :-)

Винай Саджип
источник
2
~ / .Local немного глупое имя? Что если Ruby хочет сделать то же самое? Может быть, ~ / .python27 будет лучше?
Джонатан Хартли
1
Просто заметьте, я просто попробовал то же самое в Windows, и мне пришлось добавить как локальную папку (например, «local»), так и «local \ Lib \ site-packages» в PYTHONPATH, чтобы успешно запустить распространяемый дистрибутив_setup.py.
техно-логическое
1
Последняя проблема с этим подходом: virtualenv несовместим с использованием файла .pydistutils.cfg. См. Github.com/pypa/virtualenv/issues/88
Дан,
3
Я думаю, что должно быть easy_install pipмежду шагом 5 и 6.
SiggyF
5
~ / .Local вещь происходит от PEP 370.
Эрик Араужо
16

Если вы выполните действия, описанные в нескольких уроках, которые я привел в этом ответе , вы можете получить желаемый эффект без каких-либо сложных «ручных» шагов в ответах Уокера и Винай. Если вы на Ubuntu:

sudo apt-get install python-pip python-dev

Эквивалент достигается в OS X с помощью homebrew для установки python (более подробно здесь ).

brew install python

С pipустановленным, вы можете использовать его для получения остальных пакетов (вы можете опустить sudoв OS X, так как вы используете локальную установку Python).

sudo pip install virtualenvwrapper

(это единственные пакеты, которые вам нужно установить в глобальном масштабе, и я сомневаюсь, что они будут конфликтовать с любым системным уровнем ОС. Если вы хотите быть супер-безопасным, вы можете сохранить версии дистрибутива sudo apt-get install virtualenvwrapper)

Примечание: в Ubuntu 14.04 я получаю некоторые ошибки при установке pip , поэтому я использую pip3 install virtualenv virtualenvwrapperи добавляю VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3в свой .bashrc/.zshrcфайл.

Затем вы добавляете в свой .bashrcфайл

export WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

и источник его

. ~/.bashrc

Это в основном это. Теперь единственное решение - хотите ли вы создать virtualenv для включения пакетов системного уровня

mkvirtualenv --system-site-packages foo

там, где существующие системные пакеты не нужно переустанавливать, они символически связаны с версиями системного интерпретатора. Примечание: вы все еще можете устанавливать новые пакеты и обновлять существующие включенные из системы пакеты без sudo - я протестировал его, и он работает без сбоев системного интерпретатора.

kermit@hocus-pocus:~$ sudo apt-get install python-pandas
kermit@hocus-pocus:~$ mkvirtualenv --system-site-packages s
(s)kermit@hocus-pocus:~$ pip install --upgrade pandas
(s)kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.10.1
(s)kermit@hocus-pocus:~$ deactivate
kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.8.0

Альтернативой, если вы хотите полностью отделенную среду, является

mkvirtualenv --no-site-packages bar

или учитывая, что это опция по умолчанию, просто

mkvirtualenv bar

В результате у вас есть новый virtualenv, где вы можете свободно и без лишних усилий устанавливать ваши любимые пакеты.

pip install flask
metakermit
источник
Разве это не устанавливает и setuptools, и не распространяет? И разве это не нарушает пакеты типа Tkinter и pyopencl, которые не любят setuptools?
Конфе
Вызывает ли установка WORKON_HOME в null в bashrc принудительное использование venvwrapper чего-то разумного export WORKON_HOME="$HOME/.virtualenvs"?
Конфе
Ну, он устанавливает все, что говорит ваш менеджер пакетов, от которого зависит pip. В настоящее время это setuptools в Ubuntu и OS X ( brew install pythonвключает pip + setuptools). Этот подход прекрасно работает для меня. Кроме того, сосредоточение на pip, похоже, станет будущим путем в упаковке Python.
metakermit
1
WORKON_HOMEпо умолчанию ~/.virtualenvsда. В /usr/local/bin/virtualenvwrapper.shэтих наборах есть строчка workon_home_dir="$HOME/.virtualenvs" if [ "$workon_home_dir" = "" ].
metakermit
Понял. Спасибо. Ваш простой подход отлично работал для меня в Ubuntu 12.04, когда pip устанавливал модули, которые требовательны к использованию дистрибутива (pyopencl). Уловка для меня заключалась в том, чтобы следить за вашей pip install virtualenv virtualenv-wrapperлинией pip install --upgrade distributeв активированном virtualenv, в который я затем установил pyopencl. Я также добавил export PROJECT_HOME="$HOME/src"в свой bashrc, чтобы активировать классный mkprojectинструмент venv.
варенье
12

Python 3.4 и выше

Python 3.3 добавляет модуль venv , а Python 3.4 добавляет модуль surepip . Это делает загрузочный пункт таким же простым, как:

python -m surepip

Возможно, предшествует призыв venvсделать это в виртуальной среде.

Гарантированный пункт описан в PEP 453 .

Геррит
источник
10

На Ubuntu:

sudo apt-get install python-virtualenv

Пакет python-pipявляется зависимым, поэтому он также будет установлен.

Арик Гальперин
источник
1
python-virtualenv установит как virtualenv, так и pip. После этого просто запустите virtualenv для создания виртуальных сред Python. И запустите pip из виртуальной среды env, чтобы установить другие пакеты.
Jemeshsu
2
Это действительно самый разумный вариант. «правильный» способ установить вещи в вашей ОС - это использовать систему установки вашей ОС ! После этого вы можете играть pip, желательно в virtualenv, и никогда не использовать sudoни для чего
MestreLion
К сожалению, предоставляемые ОС версии pipиногда имеют значительные ошибки, поэтому я часто заканчиваю тем, что использую get-pip.pyпредоставленный на python.org.
RichVel
@RichVel, не могли бы вы рассказать о значительных ошибках, с которыми вы столкнулись?
Даниэльпопс
1
@danielpops - один из примеров - это проблема с пипсами в Ubuntu 16.04.1, но могут быть и другие проблемы с определенными версиями и вариантами использования.
RichVel
5

Я сделал эту процедуру для нас, чтобы использовать на работе.

cd ~
curl -s https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz | tar xvz
cd pip-1.3.1
python setup.py install --user
cd ~
rm -rf pip-1.3.1

$HOME/.local/bin/pip install --user --upgrade pip distribute virtualenvwrapper

# Might want these three in your .bashrc
export PATH=$PATH:$HOME/.local/bin
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--distribute"
source $HOME/.local/bin/virtualenvwrapper.sh

mkvirtualenv mypy
workon mypy
pip install --upgrade distribute
pip install pudb # Or whatever other nice package you might want.

Ключевые моменты для безопасности единомышленников:

  1. curl делает проверку ssl. Wget нет.
  2. Начиная с pip 1.3.1, pip также выполняет проверку ssl.
  3. Меньше пользователей могут загрузить архив pypi, чем архив github.
bukzor
источник
5

Обновление: с июля 2013 года этот проект больше не поддерживается. Автор предлагает использовать pyenv . (У pyenv нет встроенной поддержки virtualenv, но с этим приятно.)

Pythonbrew - менеджер версий для python и поставляется с поддержкой virtualenv.

После установки pythonbrew и python-версии использовать venvs очень просто:

# Initializes the virtualenv 
pythonbrew venv init

# Create a virtual/sandboxed environment 
pythonbrew venv create mycoolbundle  

# Use it 
pythonbrew venv use mycoolbundle
kioopi
источник
@ kermit666 спасибо. Какой способ пометить мой ответ как устаревший? Просто удалите это?
kioopi
1
ну, вы можете либо оставить его как есть (есть инструкции по использованию pyenv для людей , которые следуют по ссылке из моего комментария, которые похожи по своей концепции pythonbrew , что вы рекомендовали) или еще лучше изменить ответ с , например Update сентября 2013 года по добавление новых инструкций. Возможно, pythonbrew снова станет активным в будущем, поэтому я не буду удалять ваши старые инструкции. Для получения дополнительной информации см. Мета .
metakermit
Смотрите мой ответ о том pyenv, что работает хорошо.
RichVel
3

Нет проблем выполнить установку sudo python setup.py, если вы уверены, что это именно то, что вы хотите сделать.

Разница в том, что он будет использовать каталог site-packages вашей ОС в качестве места назначения для файлов .py, которые будут скопированы.

так что, если вы хотите, чтобы pip был доступен для всех пользователей, это, вероятно, правильный путь. Я не говорю, что другие пути плохи, но это, вероятно, достаточно справедливо.

Алексис Метеро
источник
1
Да, я использовал этот способ. И через некоторое время, ссылаясьpip freeze меня в тупик - список пакетов, устанавливаемых во всей системе, был слишком длинным. С тех пор я настоятельно рекомендую использовать установку пакетов "no sudo" и "no os-wide" для python.
Ян Влчинский
2

Я недавно столкнулся с той же проблемой. Я становлюсь более неравнодушным к мышлению «всегда используй virtualenv», поэтому моя проблема заключалась в том, чтобы установить virtualenv с помощью pip, не устанавливая дистрибутив в мою глобальную или пользовательскую директорию site-packages. Для этого я вручную загрузил дистрибутив, pip и virtualenv, и для каждого из них я запустил «python setup.py install --prefix ~ / .local / python-private» (с временной настройкой PYTHONPATH = ~ / .local / python-private), чтобы установочные скрипты могли найти распространение). Я переместил скрипт virtualenv в другой каталог, который у меня есть в моем PATH, и отредактировал его, чтобы модули распространять и virtualenv можно было найти в sys.path. Тада: Я ничего не устанавливал в каталог / usr, / usr / local или мой пользовательский пакет сайтов, но я могу запустить virtualenv где угодно, и в этом virtualenv я получаю pip.

Эрик Араужо
источник
2

У меня были различные проблемы (см. Ниже) при установке обновленных модулей SSL, даже внутри virtualenv, поверх более старых версий Python для ОС, поэтому я сейчас использую pyenv.

pyenv позволяет очень легко устанавливать новые версии Python и поддерживает virtualenvs. Начать гораздо проще, чем рецепты virtualenv, перечисленные в других ответах:

  • На Mac наберите brew install pyenvи на Linux используйте pyenv-installer
  • это дает вам встроенную поддержку virtualenv, а также переключение версий Python (если требуется)
  • хорошо работает с Python 2 или 3, может иметь много версий, установленных одновременно

Это очень хорошо работает для изоляции "новой версии Python" и virtualenv от системы Python. Поскольку вы можете легко использовать более позднюю версию Python (публикация 2.7.9), модули SSL уже обновлены, и, конечно, как и любая современная установка virtualenv, вы изолированы от системных модулей Python.

Пара хороших уроков:

pyenv-virtualenvПлагин теперь встроен в - тип pyenv commands | grep virtualenvпроверки. Я бы не стал использовать плагин pyenv-virtualenvwrapper для начала - посмотрите, как вы попадаете с pyenv-virtualenv, который более интегрирован в pyenv, поскольку он охватывает большую часть того, что делает virtualenvwrapper.

pyenvсмоделирован rbenv(хороший инструмент для переключения версий Ruby) и его единственной зависимостью является bash.

  • pyenv не связан с очень похожим названием pyvenv- это виртуальный эквивалент, который является частью последних версий Python 3, и не обрабатывает переключение версий Python

Предостережения

Два предупреждения о pyenv:

  1. Он работает только из оболочки bash или аналогичной - или, точнее, плагину pyenv-virtualenv не нравится dash, который есть /bin/shв Ubuntu или Debian.
  2. Он должен запускаться из интерактивной оболочки входа (например, bash --loginс использованием терминала), чего не всегда легко достичь с помощью таких инструментов автоматизации , как Ansible .

Следовательно, pyenv лучше всего подходит для интерактивного использования и менее хорош для серверов сценариев.

Проблемы с модулем SSL

Одной из причин использования pyenvявляется то, что часто возникают проблемы с обновлением модулей Python SSL при использовании более старых системных версий Python:

RichVel
источник
2
  • Вы можете сделать это, не устанавливая ничего в сам Python.

  • Вам не нужны sudo или какие-либо привилегии.

  • Вам не нужно искать последнюю версию virtualenvфайла tar

  • Вам не нужно редактировать информацию о версии в bash-скрипте, чтобы поддерживать актуальность.

  • Вам не нужно curl/ wgetили tarустановлено, pipилиeasy_install

  • это работает для 2.7, а также для 3.X

Сохраните следующее для /tmp/initvenv.py:

из будущего импорта print_function

import os, sys, shutil, tempfile, subprocess, tarfile, hashlib

try:
    from urllib2 import urlopen
except ImportError:
    from urllib.request import urlopen

tmp_dir = tempfile.mkdtemp(prefix='initvenv_')
try:
    # read the latest version from PyPI
    f = urlopen("https://pypi.python.org/pypi/virtualenv/")
    # retrieve the .tar.gz file
    tar_found = False
    url = None
    sha256 = None
    for line in f.read().splitlines():
        if isinstance(line, bytes):
            line = line.decode('utf-8')
        if tar_found:
            if 'sha256' in line:
                sha256 = line.split('data-clipboard-text')[1].split('"')[1]
                break
            continue
        if not tar_found and 'tar.gz">' not in line:
            continue
        tar_found = True
        for url in line.split('"'):
            if url.startswith('https'):
                break
    else:
        print('tar.gz not found')
        sys.exit(1)
    file_name = url.rsplit('/', 1)[1]
    print(file_name)
    os.chdir(tmp_dir)
    data = urlopen(url).read()
    data_sha256 = hashlib.sha256(data).hexdigest()
    if sha256 != data_sha256:
        print('sha256 not correct')
        print(sha256)
        print(data_sha256)
        sys.exit(1)
    with open(file_name, 'wb') as fp:
        fp.write(data)
    tar = tarfile.open(file_name)
    tar.extractall()
    tar.close()
    os.chdir(file_name.replace('.tar.gz', ''))
    print(subprocess.check_output([sys.executable, 'virtualenv.py'] +
                                  [sys.argv[1]]).decode('utf-8'), end='')
    if len(sys.argv) > 2:
        print(subprocess.check_output([
            os.path.join(sys.argv[1], 'bin', 'pip'), 'install', 'virtualenv'] +

            sys.argv[2:]).decode('utf-8'), end='')
except:
    raise
finally:
    shutil.rmtree(tmp_dir)  # always clean up

и использовать его как

python_binary_to_use_in_venv /tmp/initvenv.py your_venv_name [optional packages]

например (если вам действительно нужен уровень distributeсовместимости для setuptools)

python /tmp/initvenv.py venv distribute

Обратите внимание, что в старых версиях Python это может дать вам InsecurePlatformWarnings¹.

Если у вас есть свой virtualenv (например, имя venv), вы можете настроить другой virtualenv с помощью virtualenvтолько что установленного:

venv/bin/virtualenv venv2

virtualenvwrapper

Я также рекомендую взглянуть на virtualenvwrapper после однократной настройки:

% /opt/python/2.7.10/bin/python /tmp/initvenv.py venv virtualenvwrapper

и активация (можно сделать из скрипта входа в систему):

% source venv/bin/virtualenvwrapper.sh

Вы можете делать такие вещи, как:

% mktmpenv 
New python executable in tmp-17bdc3054a46b2b/bin/python
Installing setuptools, pip, wheel...done.
This is a temporary environment. It will be deleted when you run 'deactivate'.
(tmp-17bdc3054a46b2b)% 

¹ Я не нашел способ подавить предупреждение. Это может быть решено в pipи / или request, но разработчики указывают друг на друга как на причину. Я получил (часто нереалистичную) рекомендацию обновить версию Python, которую я использовал, до последней версии. Я уверен, что это сломает, например, мою установку Linux Mint 17. К счастью, pipпакеты кэшируются, поэтому предупреждение делается только один раз за установку пакета.

Энтон
источник
Предупреждение InsecurePlatformWarning(т.е. предупреждение, если Python старше версии 2.7.9) можно исправить, установив дополнительные пакеты pyopenssl, pyasn1, ndg-httpsclient из PyPI. (Это поддержка SSL, декодирование сертификатов, https через PyOpenSSL.) Без правильных протоколов это действительно недостаточно безопасно для загрузки и запуска любого кода.
hynekcer
@hynekcer Я попробую. Я спрашиваю себя, почему pip и / или запрос не зависят от этих пакетов для соответствующих (более старых) версий python.
Антон
0

На официальном сайте Virtualenv есть хорошие инструкции. https://pypi.python.org/pypi/virtualenv

В основном то, что я сделал, это установить pipс помощью sudo easy_install pip, затем использовать, sudo pip install virtualenvзатем создать среду с: virtualenv my_env(назовите это как хотите), следуя тому, что я сделал virtualenv --distribute my_env:; который установлен distributeи pipв моем virtualenv.

Снова следуйте инструкциям на virtualenvстранице.

Что-то вроде хлопот, исходящих от Ruby; P

Виктор С
источник
0

Вот хороший способ установить virtualenvwrapper (обновление этого ).

Скачайте virtualenv-1.11.4 (вы можете найти последнюю версию здесь ), распакуйте его, откройтеterminal

# Create a bootstrapenv and activate it:
$ cd ~
$ python <path to unzipped folder>/virtualenv.py bootstrapenv
$ source bootstrapenv/bin/activate

# Install virtualenvwrapper:
$ pip install virtualenvwrapper
$ mkdir -p ~/bootstrapenv/Envs

# append it to file `.bashrc`
$ vi ~/.bashrc
  source ~/bootstrapenv/bin/activate
  export WORKON_HOME=~/bootstrapenv/Envs
  source ~/bootstrapenv/bin/virtualenvwrapper.sh

# run it now.
$ source ~/.bashrc

Вот и все, теперь вы можете использовать mkvirtualenv env1, и т. lsvirtualenvД.

Примечание: вы можете удалить virtualenv-1.11.4и virtualenv-1.11.4.zipиз папки загрузок.

suhailvs
источник
0

Хорошая новость - если вы установили python3.4, pyvenv уже установлен. Итак, просто

pyvenv project_dir
source project_dir/bin/activate
python --version   
python 3.4.*

Теперь в этом виртуальном окружении вы можете использовать pip для установки модулей для этого проекта.

Оставьте это виртуальное окружение, просто

deactivate
maoyang
источник