Який правильний спосіб встановити pip, virtualenv та поширити для Python?


247

Коротке запитання

Фон

У своїй відповіді на питання ТА 4314376 я рекомендував використовувати 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? . Мені подобається ідея збереження чистої глобальної каталогів пакетів сайтів, тому єдині інші пакунки, які я встановлюю, є virtualenvwrapperі distribute. (Нещодавно я додав distributeдо своєї панелі інструментів через це оголошення про публічну службу Python . Щоб встановити ці два пакети, я використав:

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

Більше немає налаштувань і 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

Гліфський докір

У коментарі до моєї відповіді на питання 4343376 SO користувач Glyph заявив:

НЕМАЄ. НІКОЛИ ніколи не робіть нічого 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}???
MestreLion

1
Так, як правило, більш старі пакети, але сумісні, добре, коли незначні версії не мають значення для ваших цілей, але ви спеціально запитали "що не так", і я намагаюся отримати значок педанта.

2
FYI, кілька посилань на це питання в даний час застаріли / зламані - я в даний час (не може) побачити ті , щоб pip, virtualenvі Python PSA.
Кріс Спруг

1
http://python-distribute.org/distribute_setup.pyпереадресації на 404 :(
тремтіння

Відповіді:


173

Це можна зробити, не встановлюючи нічого в сам python.

Вам не потрібно судо або будь-які привілеї.

Вам не потрібно редагувати жодні файли.

Встановіть 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.


13
Стомлений лише тому, що це дуже загальне, просте завантаження, untar, а потім python virtualenv.py TARGET_DIRECTORYробить те саме.
Себастьян Бласк

3
Це геніально. Я адаптував це, щоб відповісти на моє конкретніше питання щодо установки virtualenv в декількох версіях Python незалежно від системних пакетів - stackoverflow.com/questions/6812207/… - працює чудово.
david.libremone

6
Примітка: поточним virtualenvне потрібні параметри '--no-site-пакети - розподілити'. Можливо, --system-site-packagesзнадобиться навпаки
jfs

1
Ви можете отримати останню стабільну тарболу за допомогою цієї команди:curl -Lo virtualenv-tmp.tar.gz 'https://github.com/pypa/virtualenv/tarball/master'
Бор

1
Де ви встановлюєте virtualenvwrapper? Документи спеціально попереджають не встановлювати його у virtualenv (хоча це, здається, працює ).
Aryeh Leib Taurog

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-пакети /

  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 трохи німе ім’я? Що робити, якщо Рубі хоче зробити те саме? Може, ~ / .python27 було б краще?
Джонатан Хартлі

1
Лише зауваження, я просто спробував те ж саме у Windows і мені довелося додати PYTHONPATH як локальну папку (наприклад, "локальна"), так і "локальну \ Lib \ site-пакети", щоб успішно запустити distribute_setup.py.
техномалогічні

1
Остання проблема з таким підходом: virtualenv несумісний із використанням файлу .pydistutils.cfg. Див. Github.com/pypa/virtualenv/isissue/88
Ден

3
Я думаю, що має бути easy_install pipміж кроком 5 та 6.
SiggyF

5
~ / .Local річ походить від PEP 370.
Éric Araujo

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

Чи не встановлено це і setuptools, і не поширюється? І хіба це не ламає такі пакети, як Tkinter та pyopencl, які не люблять setuptools?
варильні панелі

Чи налаштовує WORKON_HOME на нуль у bashrc змусити venvwrapper використовувати щось розумне, як export WORKON_HOME="$HOME/.virtualenvs"?
варильні панелі

Ну, він встановлює все, від чого говорить менеджер пакунків, від чого залежить піп. Наразі це 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 під час встановлення піп-модулів, які вибагливі у використанні розподілу (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 додає модуль securepip . Це робить завантажувальний піп настільки ж простим, як:

python -m забезпечити

Можливо, передує заклик 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 чи можете ви детальніше зупинитися на значних помилках, з якими ви стикалися?
danielpops

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.

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

@ kermit666 спасибі Який би кращий спосіб позначити мою відповідь застарілою? Просто видалити його?
kioopi

1
ну, ви можете залишити його таким, яким він є (є інструкції щодо використання pyenv для людей, які переходять за посиланням з мого коментаря, які за концепцією схожі на pythonbrew, який ви рекомендували) або ще краще відредагуйте відповідь, наприклад, Оновити вересень 2013 року додаючи нові інструкції. Можливо, pythonbrew знову стане активним у майбутньому, тому я не видалю ваші старі інструкції. Для отримання додаткової інформації див. Мета .
metakermit

Дивіться мою відповідь про те pyenv, що добре працює.
RichVel

3

Немає проблем робити встановлення sudo python setup.py, якщо ви впевнені, що це ви хочете зробити.

Різниця полягає в тому, що він буде використовувати каталог веб-сайтів пакунків вашої ОС в якості призначення для .py файлів, які потрібно скопіювати.

Отже, якщо ви хочете, щоб файл pip був доступний широко, це, мабуть, шлях. Я не кажу, що інші способи погані, але це, мабуть, досить справедливо.


1
Так, я використовував саме так. А через деякий час, викликавши pip freezeмене, я майже замерз - перелік пакунків, встановлений системою, був занадто довгим. З цього моменту я настійно рекомендую не встановлювати пакет пітонів "no sudo" та "no os-wide".
Ян Вльчинський


2

Я зіткнувся з тією ж проблемою нещодавно. Я стаю все більш прихильним до настрою «завжди використовувати virtualenv», тому моєю проблемою було встановлення virtualenv за допомогою pip, не встановлюючи розповсюдження в моєму глобальному або користувальницькому каталозі сайтів пакунків. Для цього я завантажував вручну дистрибутив, pip та virtualenv, і для кожного з них я запускав “python setup.py install --prefix ~ / .local / python-private” (з тимчасовою настройкою PYTHONPATH = ~ / .local / python-private), щоб сценарії налаштування змогли знайти розподіл). Я перемістив скрипт virtualenv до іншого каталогу, який я маю на своєму PATH, і відредагував його, щоб модулі розподілу та virtualenv можна було знайти на sys.path. Тада: Я нічого не встановлював в / usr, / usr / local або на мій користувальницький сайт-пакети dir, але я можу запустити 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- це еквівалент virtualenv, який є частиною останніх версій Python 3, і не обробляє комутацію версій Python

Коваджі

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

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

Отже, pyenv найкраще підходить для інтерактивного використання та менш хороший для сценаріїв серверів.

Проблеми з модулем SSL

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

  • Ubuntu 14.04 включає Python 2.7.6, що вимагає значних зусиль для оновлення його до правильних модулів SSL, щоб він обробляв SNI (вказівку імені сервера) як клієнта. (Я написав для цього кілька сценаріїв Ansible, що було досить болісно, ​​але в деяких випадках все-таки зламалося.)
  • оновлені модулі SSL будуть важливішими, оскільки сайти Python.org переходять на TLS 1.2 лише протягом 2017 та 2018 років.

2
  • Це можна зробити, не встановлюючи нічого в сам python.

  • Вам не потрібно судо або будь-які привілеї.

  • Вам не потрібно знаходити останню версію 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сторінці.

Вид клопоту, що походить від Рубі; 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 ..etc

Примітка. Ви можете видалити virtualenv-1.11.4і virtualenv-1.11.4.zipз папок Завантажити.


0

Хороша новина - якщо ви встановили python3.4, pyvenv вже встановлений. Отже, Просто

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

Тепер у цій віртуальній середовищі ви можете використовувати pip для встановлення модулів для цього проекту.

Залиште це віртуальне оточення

deactivate
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.