Вопрос-Ответ

Use different Python version with virtualenv

Используйте другую версию Python с virtualenv

Как мне создать виртуальную среду для указанной версии Python?

Переведено автоматически
Ответ 1

ПРИМЕЧАНИЕ: Для Python 3.3+ смотрите Ответ Элфинна ниже.


Используйте параметр --python (или short -p) при создании экземпляра virtualenv, чтобы указать исполняемый файл Python, который вы хотите использовать, например:

virtualenv --python="/usr/bin/python2.6" "/path/to/new/virtualenv/"
Ответ 2

Начиная с Python 3.3, в документации предлагается создавать виртуальную среду с использованием stdlib:

python3 -m venv "my_env_name"

Кроме того, если нам нужна определенная версия python, скажем, 3.6, то мы можем использовать

python3.6 -m venv "my_env_name"

Убедитесь, что вы установили указанную версию Python вместе с существующим системным Python.

Ответ 3

Это шаги, которым вы можете следовать, когда находитесь в среде общего хостинга и вам нужно установить и скомпилировать Python из исходного кода, а затем создать venv из вашей версии Python. Для Python 2.7.9. вы бы сделали что-то в этом роде:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

виртуальная среда

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate

Естественно, это может быть применимо к любой ситуации, когда вы хотите воспроизвести точную среду, в которой вы работаете и развертываете.

Ответ 4

Есть более простой способ,

virtualenv venv --python=python2.7

Благодаря комментарию, это работает, только если у вас установлен python2.7 на системном уровне (например, /usr/bin /python2.7).

В противном случае, если вы используете homebrew, вы можете использовать path, чтобы получить то, что вы хотите.

virtualenv venv --python=/usr/local/bin/python

Вы можете найти путь к вашей установке python с помощью which python (Linux) или py -0p (Windows)

Это также будет работать с python 3.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

В конечном итоге сводится к:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`
python virtualenv