Python--virtualenv
同一台服务器上部署多个项目时,项目可能使用不同版本的django或者其它不同的python库,这种情况下可以使用virtualenv来创建独立的python运行环境,将不同项目的运行环境隔离出来。
virtualenv可以创建一个拥有自己安装目录的环境, 能够方便的管理python版本和管理python库。
安装
1 | pip install virtualenv |
创建环境
基本命令:
1 | virtualenv ENV |
即在ENV目录创建了一个新的虚拟环境。
pip和setuptools已在虚拟环境中自动下载完毕,可以使用这些工具来下载python包。
下载的python包置于ENV/lib/pythonX.X/site-packages中。
当前使用的python解释器为ENV/bin/python。
激活与退出虚拟环境
激活命令:
1 | $ source bin / activate |
退出虚拟环境:
1 | $ deactivate |
删除虚拟环境
退出虚拟环境后删除目录即可:
1 2 | (ENV)$ deactivate $ rm - r / path / to / ENV |
继承全局python库
使用以下命令可以创建继承使用/usr/lib/python2.7/site-packages下的python全局库的虚拟环境
1 | virtualenv - - system - site - packages ENV |
不使用虚拟环境中的python解释器
如果不想或者不能使用虚拟环境中的python解释器bin/python,需要修改使用的python库的路径。
bin目录下有一个文件activate_this.py:
1 2 3 4 5 6 | """By using execfile(this_file, dict(__file__=this_file)) you will activate this virtualenv environment. This can be used when you must use an existing Python interpreter, not the virtualenv bin/python """ |
更改路径:
1 2 | activate_this = '/path/to/env/bin/activate_this.py' execfile (activate_this, dict (__file__ = activate_this)) |
生成可打包的环境
1 | $ virtualenv - - relocatable ENV |
指定python版本
-p PYTHON_EXE, --python=PYTHON_EXE:指定生成的虚拟环境的python版本
1 | virtualenv - p / usr / bin / python2. 7 env |
uwsgi中使用virtualenv
部署django项目时,可以使用uwsgi的几个选项来指定项目使用的虚拟环境,--home,--virtualenv,--venv,--pyhome选项,都可简写为-H。
在uwsgi配置文件中添加virtualenv = <path to env>或者运行命令时$ uwsgi -H myenv。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探