Ubuntu20.04 多Python版本共存与Virtualenvwrapper创建虚拟环境

Python3.6.8下载与安装

原文参考链接

安装各类依赖工具

bash 复制代码
sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

下载源码文件压缩包

bash 复制代码
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

解压与配置

bash 复制代码
tar -xzf Python-3.6.8.tgz
cd Python-3.6.8
sudo ./configure --enable-optimizations --prefix=/usr/local/bin/python3.6

--prefix=/usr/local/bin/python3.6:编译的时候用来指定程序存放路径

编译与安装

bash 复制代码
sudo make
sudo make install

设置软链接

bash 复制代码
sudo ln -s -f /usr/local/bin/python3.6/bin/python3.6 /usr/bin/python3.6
sudo ln -s -f /usr/local/bin/python3.6/bin/pip3.6 /usr/bin/pip3.6

Virtualenvwrpper虚拟环境配置

默认Python3对应的Virtualenvwrapper安装与使用参考链接

实际上,Python3自带了集成的venv.

venv创建虚拟环境:

指定项目路径(~/proj_doc)并创建虚拟环境

bash 复制代码
python3.6 -m venv ~/proj_doc

该虚拟环境激活:

bash 复制代码
source ~/proj_doc/bin/activate

退出虚拟环境

bash 复制代码
deactivate

在该途径下进行包的pip安装,包会被安装至~/proj_doc/lib/python3.6/site-packages

virtualenvwrapper安装与创建虚拟环境

在本文中采用的思路是为Ubuntu20.04默认的Python3(Python3.8)安装virtualenvwrapper, 并在创建虚拟环境时指定Python版本.

下载与安装virtualenvwrapper

bash 复制代码
pip3 install virtualenv virtualenvwrapper

设置WORKON路径等:

bash 复制代码
vim ~/.bashrc

在bashrc中加入下面的内容

bash 复制代码
# Virtualenvwrapper settings:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv
source $HOME/.local/bin/virtualenvwrapper.sh

virtrualenvwrapper默认将所有的虚拟环境放置于~/.virtualenvs

目录下进行管理.

通过source命令或重新打开终端即可使其生效

bashrc 复制代码
source ~/.bashrc

创建虚拟环境

bash 复制代码
mkvirtualenv venv

指定Python版本进行虚拟环境创建

bash 复制代码
mkvirtualenv venv6 --python=/usr/local/bin/python3.6/bin/python3.6 

报错情况:

RuntimeError: failed to query /usr/local/bin/python3.6/bin/python3.6 with code 1 err: ' File "/usr/local/lib/python3.8/dist-packages/virtualenv/discovery/py_info.py", line 152\n os.path.join(base_dir, exe) for exe in (f"python{major}", f"python{major}.{minor}")\n ^\nSyntaxError: invalid syntax\n

解决方法:

virtualenv在>=20.22.0后放弃了对<=Python3.6的支持,所以降低virtualenv的版本即可。参考链接

bash 复制代码
pip3 install virtualenv==20.21.1

`

可根据不同的Python解释器所在路径进行参数的修改

查看环境

bash 复制代码
workon

切换环境

bash 复制代码
workon venv6

退出环境

bash 复制代码
deactivate

删除环境

bash 复制代码
rmvirtualenv venv6
相关推荐
闫有尽意无琼20 小时前
银河麒麟v11 arm编译Qt creator8.0.2报错
开发语言·qt
工业互联网专业20 小时前
图片推荐系统_django+spider
python·django·毕业设计·源码·课程设计·spider·图片推荐系统
Lwcah20 小时前
Python | LGBM+SHAP可解释性分析回归预测及可视化算法
python·算法·回归
小此方20 小时前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
奔跑吧邓邓子20 小时前
CentOS 7性能飞升秘籍:实战系统优化与调优
linux·运维·centos·实战·系统优化·性能调优
_OP_CHEN20 小时前
从零开始的Qt开发指南:(五)Qt 常用控件之 QWidget(上):解锁 Qt 界面开发的核心基石
开发语言·c++·qt·前端开发·qwidget·gui开发·qt常用控件
@一辈子爱你20 小时前
归来九十余日:在时代的夹缝中,与你共筑一道光
python
wjs202420 小时前
SQLite 视图
开发语言
qinyia20 小时前
WisdomSSH如何高效检查服务器状态并生成运维报告
linux·运维·服务器·数据库·人工智能·后端·ssh
q***448120 小时前
java进阶--多线程学习
java·开发语言·学习