如何为指定版本的Python创建虚拟环境?
当前回答
当您在共享托管环境中,需要从源代码安装和编译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
虚拟环境
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是一个干净的解决方案。然而,每个人都应该注意的一个小陷阱是,如果在bash_aliases中设置了python的别名,例如:
python=python3.6
该别名也将在虚拟环境中使用。因此,在这个场景中,在虚拟env中运行python-V将始终输出3.6,而不管使用什么解释器来创建环境:
virtualenv venv --python=pythonX.X
在linux的windows子系统中:
为python3创建环境:virtualenv--python=/usr/bin/python3-env激活它:源env/bin/activate
当您在共享托管环境中,需要从源代码安装和编译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
虚拟环境
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
当然,这可以适用于任何您想要复制您工作和部署的环境的情况。
对于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包,则将添加这些包。
sudo添加apt存储库ppa:死蛇/ppa
sudo apt更新
sudo apt install python_version(例如:sudo apt-install python3.8)
python_version-m venv env(例如:python3.8-m venv nv)
.env/bin/activate
以上步骤将解决python版本的env问题。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录