現在、Python 2.5.4 で実行されている Debian システムがあります。virtualenv を適切にインストールしました。すべて正常に動作しています。別のバージョンの Python で virtualenv を使用できる可能性はありますか?
Python 2.6.2 をコンパイルしましたが、それを virtualenv で使用したいと考えています。バイナリファイルを上書きするだけで十分ですか? または、ライブラリに関して何かを変更する必要がありますか?
現在、Python 2.5.4 で実行されている Debian システムがあります。virtualenv を適切にインストールしました。すべて正常に動作しています。別のバージョンの Python で virtualenv を使用できる可能性はありますか?
Python 2.6.2 をコンパイルしましたが、それを virtualenv で使用したいと考えています。バイナリファイルを上書きするだけで十分ですか? または、ライブラリに関して何かを変更する必要がありますか?
virtualenv インスタンスを作成するときに--python
(または short ) オプションを使用して、使用する Python 実行可能ファイルを指定するだけです。-p
virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>
NB Python 3.3以降については、以下の Aelfinn の回答を参照してください。
venv
これらは、共有ホスティング環境にいて、ソースから Python をインストールしてコンパイルし、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
当然のことながら、これは、作業して展開する正確な環境を複製したいあらゆる状況に適用できます。
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
私にとってWindowsでは、これは機能します:
virtualenv --python=c:\Python25\python.exe envname
python.exe
がなければ、WindowsError: [Error 5] Access is denied
virtualenv 1.6.1 と共に Python2.7.1 がインストールされており、python 2.5.2 が必要でした。
Mac OSX 10.6.8 (Snow Leopard):
1) するとpip install virtualenv
、pip コマンドはお使いの Python バージョンの 1 つに関連付けられ、virtualenv
そのバージョンの Python にインストールされます。できるよ
$ which pip
それがどのバージョンのpythonであるかを確認します。次のようなものが表示された場合:
$ which pip
/usr/local/bin/pip
次に、次のようにします。
$ ls -al /usr/local/bin/pip
lrwxrwxr-x 1 root admin 65 Apr 10 2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
出力で Python のバージョンを確認できます。
デフォルトでは、作成する新しい環境に使用される python のバージョンになります。ただし、コンピューターにインストールされている任意のバージョンの python を指定して、新しい環境内で使用することができます-p flag
。
$ virtualenv -p python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3.2
New python executable in my_env/bin/python
Installing setuptools, pip...done.
virtualenv my_env
現在のディレクトリに、Python 実行可能ファイルと、他のパッケージのインストールに使用できる pip [コマンド] のコピーを含むフォルダーが作成されます。
http://docs.python-guide.org/en/latest/dev/virtualenvs/
virtualenv
コンピューター上の場所から新しく作成された my_env/bin/ ディレクトリに python をコピーするだけです。
2) システム python は に/usr/bin
ありますが、インストールしたさまざまな python バージョンは、デフォルトで次の場所にインストールされています。
/usr/local/bin
3) インストールしたさまざまな python にはpython2.7
やなどの名前python3.2
があり、フル パスではなくそれらの名前を使用できます。
1) virtualenvwrapper を動作させるのにいくつか問題がありました。これは私が最終的に入れたものです~/.bash_profile
:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects #Not very important -- mkproject command uses this
#Added the following based on:
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
2) -p option
virtualenvwrapper では動作が異なります: 新しい環境で使用する Python インタープリターへのフルパスを指定する必要があります (デフォルトの Python バージョンを使用したくない場合):
$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate
removes the 'bin' directory of the environment activated with 'source
activate' from PATH.
virtualenv とは異なり、virtualenvwrapper は $WORKON_HOME 環境変数で指定された場所に環境を作成します。これにより、すべての環境が 1 か所に保持されます。
現在、virtualenv に python 2.7 がインストールされているとします。しかし、を利用したい場合はpython3.2
、これを次のように更新する必要があります。
$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv
次に、次の方法でvirtualenvを有効にします。
$ source activate name_of_your_virtualenv
python --version
シェルで、バージョンが現在更新されているかどうかを確認します。
virtualenv
必要なpythonバージョンで呼び出すことができます。例えば:
python3 -m virtualenv venv
または、virtualenv パスを直接指定します。たとえば、Windows の場合:
c:\Python34\Scripts\virtualenv.exe venv
そして実行することによって:
venv/bin/python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
仮想環境にインストールされているpythonのバージョンを確認できます
この-p
アプローチはうまく機能しますが、毎回使用することを忘れないでください。一般に、Python の新しいバージョンに切り替えることが目標である場合、それは苦痛であり、間違いにつながる可能性もあります。
他のオプションは、 と同じことを行う環境変数を設定することです-p
。ファイルを介して、~/.bashrc
またはログイン セッションの環境変数を管理する場所でこれを設定します。
export VIRTUALENV_PYTHON=/path/to/desired/version
次に、コマンドラインでvirtualenv
指定しないときはいつでもそれを使用します。-p
それは私のために働いた
sudo apt-get install python3-minimal
virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3
UBUNTU 19.04 / グローバル Python 3.7。
これは私にとってはうまくいき、Python 3開発に推奨されるvenvを使用してPython 3.8環境を有効にしました。
3.8 および 3.8 venv モジュールをインストールします。
$ sudo apt install python3.8 python3.8-venv
さらに、必要なその他のモジュールをインストールします。
その環境で必要なpythonバージョンを使用して仮想環境を作成します
$ /usr/bin/python3.8 -m venv python38-env
仮想環境に切り替えます
$ source python38-env/bin/activate
python -V = python 3.8