1408

現在、Python 2.5.4 で実行されている Debian システムがあります。virtualenv を適切にインストールしました。すべて正常に動作しています。別のバージョンの Python で virtualenv を使用できる可能性はありますか?

Python 2.6.2 をコンパイルしましたが、それを virtualenv で使用したいと考えています。バイナリファイルを上書きするだけで十分ですか? または、ライブラリに関して何かを変更する必要がありますか?

4

36 に答える 36

1811

virtualenv インスタンスを作成するときに--python(または short ) オプションを使用して、使用する Python 実行可能ファイルを指定するだけです。-p

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

NB Python 3.3以降については、以下の Aelfinn の回答を参照してください。

于 2009-10-07T21:33:12.773 に答える
205

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   

当然のことながら、これは、作業して展開する正確な環境を複製したいあらゆる状況に適用できます。

于 2012-07-02T22:17:14.797 に答える
112
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
于 2009-11-04T15:15:15.670 に答える
78

私にとって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 が必要でした。

于 2011-07-31T21:04:32.403 に答える
40

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があり、フル パスではなくそれらの名前を使用できます。

========VIRTUALENVWRAPPER=========

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 optionvirtualenvwrapper では動作が異なります: 新しい環境で使用する 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 か所に保持されます。

于 2015-01-15T20:43:25.700 に答える
26

現在、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シェルで、バージョンが現在更新されているかどうかを確認します。

于 2013-12-30T05:51:49.197 に答える
18

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のバージョンを確認できます

于 2015-12-12T23:11:12.070 に答える
13

この-pアプローチはうまく機能しますが、毎回使用することを忘れないでください。一般に、Python の新しいバージョンに切り替えることが目標である場合、それは苦痛であり、間違いにつながる可能性もあります。

他のオプションは、 と同じことを行う環境変数を設定することです-p。ファイルを介して、~/.bashrcまたはログイン セッションの環境変数を管理する場所でこれを設定します。

export VIRTUALENV_PYTHON=/path/to/desired/version

次に、コマンドラインでvirtualenv指定しないときはいつでもそれを使用します。-p

于 2016-08-05T20:57:44.920 に答える
2

それは私のために働いた

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3
于 2016-06-03T06:53:41.993 に答える
1

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
于 2019-10-22T03:42:18.443 に答える