1-----虚拟环境安装

virtualenv和virtualenvwrapper介绍使用

virtualenv 工具可以创建隔离的python环境 
我们经常会遇到两个常见问题

版本依赖
间接许可
版本依赖: 
1.假设有一个app,需要libfoo 1.0 的库,另一个app需要libfoo 2.0的库,如何才能把这两个库都安装到/usr/lib/python2.7/site-packages? 
2. 当系统的库发生了变化,或许app就运行不了 
间接许可 
3. 当主机,我们没有root权限。

virtualenv 就能解这样的问题,它将创建一个单独的环境,库将安装到自己目录下,不会和其他环境共享。

由于virtualenv用起来有点麻烦,wrapper对它进行了封装,让它更好用,最终我们使用wrapper提供的命令,但是实际工作都是virtualenv做的。
复制代码
推荐使用pip安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv virtualenvwrapper

--virtualenv用法--------------------------------------------------------------------------

1、创建环境
virtualenv [虚拟环境名称] 
virtualenv venvtest1  #默认创建的环境,是可以使用系统已经安装的包。

如果不想使用系统的包,加上–no-site-packeages参数

virtualenv --no-site-packages /opt/venvtest1     #这个时候会在/opt下创建目录venvtest1

2、激活环境
cd venvtest1
source /opt/venvtest1/bin/activate       #此时,就进入了一个隔离的环境,安装,卸载和使用模块,都会在venvtest11环境中,而不会影响系统和其他环境。

3、退出环境
deactive 或deactivate    

###确保开发环境的一致性

pip3 freeze > requirements.txt      # 通过命令保证环境的一致性,导出当前python环境的包

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
可以使用 “pip3 list”在不产生requirements文件的情况下, 查看已安装包的列表。

上传至服务器后,在服务器下创建virtualenv,在test1中导入项目所需的模块依赖
pip3 install -r requirements.txt



--virtualenvwrapper的用法------------------------------------------

我们可以看到,创建的环境都是零散的,而且还要执行cd,执行source 来激活环境。 
vw可以进行环境的管理,把创建的环境记录下来,并进行管理。

初始化,设置Linux的环境变量,每次启动就加载virtualenvwrapper

第一次安装完成后需要,先设置一个变量WORKON_HOME,它将作为所有环境的前缀,并且source /usr/local/bin/virtualenvwrapper.sh

vim .bash_profile  或~/.bashrc
mkdir -p ~/.workspace
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3    #指定python解释器
export WORKON_HOME=$HOME/.virtualenvs         #设置virtualenv的统一管理目录
export PROJECT_HOME=$HOME/workspace           
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
source /usr/local/python3/bin/virtualenvwrapper.sh    #执行virtualenvwrapper安装脚本

source .bash_profile


1、创建环境
mkvirtualenv env1
mkvirtualenv env2
环境创建之后,会自动进入该目录,并激活该环境。

2、切换环境
workon env1
workon env2

3、列出已有环境
workon


4、退出环境
deactivate

5、删除环境
rmvirtualenv

6、创建project   # 用很少

项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。
mkproject  


#####其他命令
lsvirtualenv    列举所有的环境。
cdvirtualenv    导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages    和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages    显示 site-packages 目录中的内容。

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

virtualenv和virtualenvwrapper使用
复制代码

 

fsd

 

posted @   王竹笙  阅读(123)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示