現在、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で使用したいと考えています。バイナリファイルを上書きするだけで十分ですか?または、ライブラリに関して何かを変更する必要がありますか?
回答:
ただ、使用--python
(またはショート-p
例えば、あなたが使用したい実行ファイルのPythonを指定するには、あなたのvirtualenvのインスタンスを作成する場合)オプションを:
virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>
注意Python 3.3以降については、以下のThe Aelfinnの回答を参照してください。
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Python 3以降、Pythonドキュメントでは次のコマンドを使用して仮想環境を作成することを推奨しています。
python3 -m venv <myenvname>
venv
他のバージョンのPythonで仮想環境を作成することはできません。そのためには、virtualenv
パッケージをインストールして使用します。
pyvenv
このスクリプトは、仮想環境を作成するために使用することができます
pyvenv /path/to/new/virtual/environment
ただし、Python 3.6以降では非推奨になっています。
python3 -m venv <envname>
、すべてのスタブスクリプトを必要としないようにそれを実行することを提唱しています。
pyvenv
かpython3 -m venv ...
、python-config
スクリプトをインストールしないでください。つまり、Python3環境をアクティブ化した後でも、システム全体python-config
が呼び出され、混乱を招きます。2011 github.com/pypa/virtualenv/issues/169からのこのバグレポートと私の質問stackoverflow.com/questions/42020937/…を
venv
他のバージョンのPythonでvirtualenvを作成することはできません。」-これは本当ですか?たとえば、特定のバージョンのPythonを使用して作成すると、問題なく動作するようですpython3.5 -m venv <myenvname>
(そのバージョンのPythonが利用可能である場合)。
venv
特定のPythonバージョンでを作成する方法は、設定時にそのバージョンを使用することです。例:python3.5 -m venv venv
これらは、共有ホスティング環境で、ソースから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
当然のことながら、これは、作業してデプロイする正確な環境を複製したいあらゆる状況に適用できます。
~/.localpython/bin/virtualenv
に、代わりにを使用するvirtualenv
必要がありました。また、のsource ve/bin/activate
代わりに使用してくださいsource activate
。
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
-p
。
python3.6
たいがpython3.5
、コンピュータにインストールされたタッチしたくないと言いますか?
もっと簡単な方法があります
virtualenv venv --python=python2.7
コメントのおかげで、これはpython2.7がシステムレベルでインストールされている場合にのみ機能します(例:/usr/bin/python2.7)。
それ以外の場合、自作を使用している場合は、パスを使用して必要なものを取得できます。
virtualenv venv --python=/usr/local/bin/python
あなたはあなたのPythonインストールへのパスを見つけることができます
which python
これは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`
virtualenv venv --python=python3.6
としても
virtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
どこ<insert_your_python_version_here>
でしたかC:\Python\Python368\python.exe
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)私は、インストールされた各種ニシキヘビのような名前を持っている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か所に保持されます。
which pip
Pythonのバージョンを教えてくれません。これは私に与えます- /usr/local/bin/pip
。
/usr/local/bin
やると$ ls -al pip
:、あなたのような何か見えるはず pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
はすでにいくらか記載されていますが、特定のpythonバージョンのプロジェクトディレクトリと仮想環境の両方を作成する場合に使用するコマンドです。 mkproject -p /usr/bin/python3.6 myNewPython36Project
これらの2つのコマンドは正常に動作するはずです。
virtualenv -p python2 myenv
(python2の場合)
virtualenv -p python3 myenv
(python3の場合)
現在、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
、シェルで、バージョンが更新されたかどうかを確認します。
-p
。
あなたが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バージョンを確認できます
pip3 install virtualenv
最初に実行
この-p
アプローチはうまく機能しますが、毎回使用することを覚えておく必要があります。あなたの目標が一般的に新しいバージョンのPythonに切り替えることである場合、それは苦痛であり、間違いを引き起こす可能性もあります。
他のオプションは、と同じことをする環境変数を設定すること-p
です。これは、~/.bashrc
ファイルまたはログインセッションの環境変数を管理する場所で設定します。
export VIRTUALENV_PYTHON=/path/to/desired/version
その後、コマンドラインでvirtualenv
指定しないときはいつでもそれを使用します-p
。
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
ごとの設定が機能しなかったが、このソリューションが機能した理由は何ですか?
virtualenvwrapper
は、実行時にPythonが使用するものを制御します。インストールとは関係ありません。
Mac(High Sierra)の場合、python3にvirtualenvをインストールし、python2のvirtualenvを作成します。
$ python3 -m pip install virtualenv
$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14
python3 -m pip install virtualenv
Macでは、pyenvとvirtualenvwrapperを使用します。新しいvirtualenvを作成する必要がありました。Macを使用している場合はインストール済みであると想定する自作が必要ですが、それは単に楽しみのためです。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
最初に要件をフリーズしたので、次のコマンドで新しいvirtualenvに簡単に再インストールできます。
pip install -r requirements.txt
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
バージョンではなくバージョンである必要があります。SOが短い編集を許可した場合は、修正します。
pyenv
pyenv-virtualenv
プラグインによるvirtualenvサポートが含まれているため、virtualenvwrapperは本当に必要ないことがわかりました。詳細については、私のpyenvの回答をご覧ください。
[2019年11月] Python 3.8ベースのArch LinuxシステムにPython 3.7環境(env)をインストールする必要がありました。Python 3.7はシステムに存在しなくなったため、必要なパッケージをインストールするためにPythonをダウングレードできませんでした。
さらに、仮想環境(venv)内でそのパッケージ/ Python 3.7を使用したいと思いました。これは私がやった方法です。
Pythonバージョンのソースファイルをダウンロードします。
からPython 3.7.4ソースファイルをダウンロードしました
に
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
次に、そのアーカイブ(ソースファイル)を
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
インストール:
[注:私のシステム環境では、envではありません。]
cd /mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
time ./configure ## 17 sec
time make ## 1 min 51 sec
time sudo make install ## 18 sec
time make clean ## 0.3 sec
インストールされているPythonのバージョンを確認します。
$ which python
/usr/bin/python
$ python --version
Python 3.8.0
$ which python3.7
/usr/local/bin/python3.7
$ python ## Python 3.8 [system / env]
Python 3.8.0 (default, Oct 23 2019, 18:51:26)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ python3.7 ## newly-installed Python 3.7 package
Python 3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0]
>>>
$ python3.7 --version
Python 3.7.4
特定のPythonバージョンのvenvを作成する方法:
https://docs.python.org/3/tutorial/venv.html
12.2。仮想環境の作成
仮想環境の作成と管理に使用されるモジュールはと呼ばれ
venv
ます。venv
通常、入手可能な最新バージョンのPythonをインストールします。システムに複数のバージョンのPythonがある場合、python3または任意のバージョンを実行して、特定のPythonバージョンを選択できます。仮想環境を作成するには、それを配置するディレクトリを決定し、ディレクトリパスを使用してスクリプトとしてvenvモジュールを実行します。
python3 -m venv tutorial-env
これにより、
tutorial-env
ディレクトリが存在しない場合はディレクトリが作成され、Pythonインタープリターのコピー、標準ライブラリ、およびさまざまなサポートファイルを含むディレクトリがディレクトリ内に作成されます。...
Python 3.7 venvを作成します(Python 3.8オペレーティング環境/システム上):
python3.7 -m venv ~/venv/py3.7 ## create Python 3.7-based venv
source ~/venv/py3.7/bin/activate ## activate that venv
deactivate ## deactivate that venv (when done, there)
追加~/.bashrc
:
alias p37='echo " [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'
Python 3.7 venvをテストします。
$ p37
[Python 3.7 venv (source ~/venv/py3.7/bin/activate)]
(py3.7)$ python --version
Python 3.7.4
(py3.7)$ python
Python 3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0]
>>>
はい、上記の回答は正しく、LinuxやMAC OS XなどのUnixベースのシステムで正常に機能します。
私が作成しようとしましたvirtualenvのためPython2&のpython3以下のコマンドで。
ここで私が使用しているvenv2&venv3のための彼らの名前としてPython2&のpython3それぞれ。
Python2»
MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2`
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/admin/venv2/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$
MacBook-Pro-2:~ admin$ ls venv2/bin/
activate easy_install pip2.7 python2.7
activate.csh easy_install-2.7 python wheel
activate.fish pip python-config
activate_this.py pip2 python2
MacBook-Pro-2:~ admin$
Python3»
MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3`
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/venv3/bin/python3
Also creating executable in /Users/admin/venv3/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$
MacBook-Pro-2:~ admin$ ls venv3/bin/
activate easy_install pip3.6 python3.6
activate.csh easy_install-3.6 python wheel
activate.fish pip python-config
activate_this.py pip3 python3
MacBook-Pro-2:~ admin$
Pythonのインストール場所の確認
MacBook-Pro-2:~ admin$ which python2
/usr/local/bin/python2
MacBook-Pro-2:~ admin$
MacBook-Pro-2:~ admin$ which python3
/usr/local/bin/python3
MacBook-Pro-2:~ admin$
これらは、Windowsでは少し複雑すぎるようです。Python 3.3以降を実行しているWindowsを使用している場合は、Pythonランチャーpy
を使用して、これをはるかに簡単に行うことができます。異なるバージョンのpythonをインストールして、次を実行します。
py -[my version] -m venv env
これにより、env
pythonを使用して、現在のディレクトリに呼び出される仮想環境が作成されます[my version]
。例として:
py -3.7 -m venv env
./env/Scripts/activate
これにより、env
python3.7を使用して呼び出される仮想環境が作成され、アクティブになります。パスやその他の複雑なものは必要ありません。
py -3.7 -m venv env
代わりにすべきではありませんか(-m
欠落しています)?
virtualenv -p python3 myenv
2019年のDebian(debian 9)システムの場合、私は仮想環境内から問題を解決する可能性のある簡単な解決策を発見しました。
仮想環境が次のように作成されたと仮定します。
python3.7 -m venv myenv
python2
とのバージョンのみがpython2.7
あり、python3.7の最近の機能が必要です。
次に、次のコマンドを実行します。
(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/
python3.7パッケージがシステムですでに利用可能な場合は追加します。
python 2がインストールされたWindowsで動作しました:
これは、既存のpython 2インストールでPython 3仮想環境を作成した方法です。
はい、他のバージョンのpythonをインストールし、次のようなコマンドで他のバージョンのpythonの場所を定義するだけです。
virtualenv / home / payroll / Documents / env -p / usr / bin / python3
Visual Studio Codeフォルダーに仮想環境を作成する手順は次のとおりです。Powershell(管理者モード)
を使用しました。1.仮想環境を作成するVSCodeフォルダー-"D:\ Code_Python_VE"を作成します。
2.次に、コマンド「pip3 install virtualenv」を入力します。(D:\ Code_Python_VE> pip3 install virtualenv)3. D:\ Code_Python_VE> python3 -m venv project_env
4. D:\ Code_Python_VE> project_env \ Scripts \ activate.bat
5. D:\ Code_Python_VE> ls-新しいリストが表示されますディレクトリ「project_env」。
6. D:\ Code_Python_VE>コード。Visual Studio Codeが起動します。コマンドが(コード。)であることを確認してください。
7.次の内容でlaunch.jasonを作成します。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "python",
"request": "launch",
"name": "Python: Current File (Integrated Terminal 1)",
"program": "${file}"
},
{
"name": "Python: Current File (Integrated Terminal 2)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
(デバッグウィンドウに移動し、VSコードに新しい構成を追加する方法を検索してください)。
UBUNTU 19.04 /グローバルPython 3.7。
これは私にとってはうまくいき、Python 3開発に推奨されるvenvを使用してPython 3.8環境を有効にしました。
$ sudo apt install python3.8 python3.8-venv ##および必要なその他のモジュール
$ /usr/bin/python3.8 -m venv python38-env
$ソースpython38-env / bin / activate
python -V = python 3.8