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
相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
Yana.nice5 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰6 小时前
[爬虫]-Urllib
爬虫·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨7 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
玉鸯8 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260859 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask