使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python
virtualenv
系统中的多个python混用会导致$PYTHONPATH
混乱,或者各个工程对于package的版本要求不同等等情况。有一个简单的解决方案就是用virtualenv来隔离多个python,其本质只是实现隔离不同python中$PYTHONPATH
的路径,当然也可以衍生到隔离多个$PATH
。
安装virtualenv
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev python-virtualenv
# Mac OS X
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenv
Virtualenvwrapper
当有很多个虚拟环境时,我们可能会记不清有哪些虚拟环境,要搞清楚每个环境中有哪些package就更难了,因此这里推荐用Virtualenvwrapper来对虚拟环境进行管理。
配置Virtualenvwrapper
在安装Virtualenvwrapper之前用pip安装上virtualenv或用apt-get安装上python-virtualenv
$ sudo pip install virtualenvwrapper
把下面几行加入~/.bashrc
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 # 这句是为了防止环境变量$PATH中已有其它环境的python,需要换成自己需要的python路径
export WORKON_HOME=$HOME/.virtualenvs # 放所有虚拟环境的地方
source /usr/local/bin/virtualenvwrapper.sh
在终端输入source ~/.bashrc
新建Virtualenv
新建虚拟环境的指令由原来的virtualenv vpath
更换为mkvirtualenv vname
,默认把路径放到了$WORKON_HOME
下,并且原来的--system-site-packages
和--no-site-packages
等选项都还是可以用的。
mkvirtualenv VirtalenvName
建好之后默认就已经进入这个虚拟环境了(命令行前会有一个括号+环境名的提示),退出是deactivate
Virtualenvwrapper常用指令
mkvirtualenv 创建环境
workon 切换到环境
deactivate 注销当前环境
lsvirtualenv 列出所有环境
rmvirtualenv 删除环境
cpvirtualenv 复制环境
cdsitepackages cd到当前环境的site-packages目录
lssitepackages 列出当前环境中site-packages内容
setvirtualenvproject 绑定现存的项目和环境
wipeenv 清除环境内所有第三方包
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现