我有一个Debian系统目前的运行与python2.5.4.我得到了虚拟环境下妥善安装,一切工作正常。有没有可能,我可以使用一个虚拟环境下的不同版本蟒蛇?

我编Python2.6.2,并想用它的一些虚拟环境下.它足以复盖的二进制文件?或者我必须改变的东西在相对于库?

有帮助吗?

解决方案

创建您的virtualenv实例时只需使用--python(或短-p)选项来指定Python可执行程序要使用,e.g:

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

N.B。对于的Python 3.3 或以后,请参阅Aelfinn的以下回答

其他提示

更新: 为Python3.6的下面 pyvenv 剧本已被否决。相反, 蟒蛇Docs建议 建立虚拟环境中与以下命令:

python3 -m venv <myenvname>

为python3(3.3+),使用上述方法或 脚本 pyvenv 命令。

pyvenv /path/to/new/virtual/environment

请注意, venv 不允许建立虚拟环境与其他版本的蟒蛇。为此,安装和使用 virtualenv .

这些步骤,当您在共享主机的环境和需要安装和从源complie的Python,然后从你的Python版本创建VENV。对于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

<强>虚拟的env

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>

有更简单的方法,

virtualenv venv --python=python2.7

由于注释,如果已安装在系统级python2.7(例如/usr/bin/python2.7)。

这仅适用

否则,如果您使用的是自制软件,你可以使用路径来给你想要的东西。

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

您可以找到的路径,你的Python安装

which 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`

在Windows下对我来说这个作品:

virtualenv --python=c:\Python25\python.exe envname

而不python.exeWindowsError: [Error 5] Access is denied 我已经安装了与的virtualenv 1.6.1 Python2.7.1,我想蟒2.5.2。

的Mac OSX 10.6.8(雪豹):

1)当你做pip install virtualenv,画中画命令与您的Python版本中的一个关联,并且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与-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的可执行文件,以及画中画的副本   [命令],使用可用于安装其他包。

http://docs.python-guide.org/en/最新的/ dev / virtualenvs /

从您的计算机上的位置到新创建的my_env / bin /目录virtualenv只是复制蟒蛇。

2)的系统,Python,在/usr/bin,虽然我安装的各种蟒版本是,默认情况下,安装到:

 /usr/local/bin

3)I安装各种蟒有像python2.7python3.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 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环境变量指定的位置处的环境。这令所有的环境在一个地方。

假设你现在有Python 2.7版安装在您的virtualenv。但是,要利用python3.2的,你将不得不更新这跟:

$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv

然后激活的的virtualenv 由:

$ source activate name_of_your_virtualenv

然后执行:python --version壳检查版本现在是否更新

这两个命令应该正常工作。

virtualenv -p python2 myenv(对于python2)

virtualenv -p python3 myenv(对于python3)

您可以打电话与要Python版本virtualenv。例如:

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

有关MAC(高塞拉利昂),安装上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

更容易,通过使用命令替换找到你python2:

virtualenv -p $(which python2) <path/to/new/virtualenv/>

或者使用virtualenvwrapper时:

mkvirtualenv -p $(which python2) <env_name>

在我使用pyenv和virtualenvwrapper的MAC。我不得不创建一个新的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

在 Linux 的 Windows 子系统中:

  1. 创建python3环境:

    virtualenv --python=/usr/bin/python3 env
    
  2. 激活它:

    source env/bin/activate
    

下,上述回答是正确的,在Unix正常工作的系统例如的Linux &的 MAC OS X

我试图创建的的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$ 

它为我

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

在窗口:

py -3.4x32 -m venv venv34

py -2.6.2 -m venv venv26

此使用 py发射,以找到合适的蟒可执行对您(假设你有它安装)。

virtualenv -p python3 myenv

链接到创建的virtualenv

有关的Debian(Debian的9)系统在2019年,我发现,可以从虚拟环境中解决该问题的简单的解决方案。

假设所述虚拟环境中通过创建的:

python3.7 -m venv myenv

但只有python2python2.7的版本,你需要近期python3.7的特点。

然后,只需运行命令:

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

将增加python3.7包,如果他们是你的系统上已经可用。

这是与的virtualenv的错误。 刚刚升级点子应该是该修补程序。

pip install --upgrade virtualenv

它在安装了 python 2 的 Windows 上对我有用:

  1. 步骤1:安装python 3版本。
  2. 第2步:为虚拟环境创建一个ENV文件夹。
  3. 步骤3:c: python37 python -m venv c: path to env。

这就是我在现有的 python 2 安装上创建 Python 3 虚拟环境的方法。

我使用 pyenv 来管理我的Python版本。

pyenv install 3.7.3
pyenv local 3.7.3

检查Python版本:

$ python --version
Python 3.7.3

创建 VENV :

python -m venv .

然后激活虚拟环境:

source bin/activate

检查Python版本:

$ python --version
Python 3.7.3

您可能需要删除以前的虚拟环境

rm -rf bin

您可以通过这样做:

virtualenv -p python3 .

是的,你只需要安装Python的其他版本,并在您的命令定义像蟒蛇您的其他版本的位置:

  
    
      

的virtualenv /家/工资表/文件/ env的-p的/ usr /斌/ python3

    
  

以下是如何在 Visual Studio Code 文件夹中创建虚拟环境的分步说明:我使用Powershell(管理员模式):
1.我创建一个 VSCode 文件夹 - “D:\Code_Python_VE”,我想在其中创建虚拟环境。
2.接下来我输入命令 - “pip3 install virtualenv”。(d: code_python_ve> pip3安装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 Code 中添加新配置)。

  1. 在 Visual Studio Code 中按 F1,命令托盘将打开 - 选择 Python Interpreter 并选择虚拟环境 project_env。
  2. 添加带有一条语句 print("Hello World") 的 test.py 文件。
  3. 运行这个程序。
  4. 在 Visual Studio 代码终端中 -
    (project_env) d:\Code_Python_VE>python -m pip install --upgrade
    我希望这有帮助。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top