Mr·Li博客

mac上virtualenvwrapper和virtualenv的使用

lixiaobin·2020-11-25 17:26·466 次阅读

mac上virtualenvwrapper和virtualenv的使用

1.virtualenv安装和使用#

1)介绍#

在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰,如下所示

2)安装使用#

以下命令均在终端执行

通过pip安装virtualenv:

pip3 install virtualenv #我这里用的是python3

创建一个工程项目并搭建一个虚拟环境:

virtualenv venv  #在当前目录下创建文件夹 venv -->独立的环境

virtualenv -p /usr/local/bin/python3 venv   #创建env的时候可以选择指定的Python解释器; /usr/local/bin/python3 是我python3解释器安装的目录

#激活虚拟环境

cd env

source ./bin/activate

#退出虚拟环境

deactivate

2.virtualenvwrapper的安装和使用#

1)介绍#

提供了一系列命令使得和虚拟环境工作变得愉快许多。它把您所有的虚拟环境都放在一个地方。

1>.将您的所有虚拟环境在一个地方。

2>.包装用于管理虚拟环境(创建,删除,复制)。

3>.使用一个命令来环境之间进行切换。

2)安装#

注意:这里要确保 virtualenv 已经安装了

1
pip3 install virtualenvwrapper

安装完了之后该配置mac的环境变量了,个人mac用的不是很熟练,原理不是很懂

1
vim ~/.bash_profile   #创建一个隐藏文件 .bash_profile 在这里配置一些环境变量,没有这个文件夹的话会自动创建一个新的,这里不用担心vim ~/.virtualenvs    #创建的所有venv同一存储在这里

路径要改成自己的路径(virtualenvwrapper我安装的最新的版本,默认有--no-site-packages这个参数,不用再添加了)

1
2
3
4
5
export WORKON_HOME=$HOME/.virtualenvs #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 #指定python解释器
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本

没有启动虚拟环境 不让使用pip安装包 (export PIP_REQUIRE_VIRTUALENV=true)  这个我没加到环境变量中去

3)使用#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
在每次使用终端时手动启动一下: source ~/.bash_profile
也可以终端启动时自动运行,可自己百度实现
1.创建虚拟环境
    mkvirtualenv env-name
    mkvirtualenv -p python3.4 env-name  # 指定python的版本号
    mkvirtualenv env-name  --system-site-packages  # 可以使用虚拟环境的外部的模块
2.进入虚拟环境
    workon env-name
3.离开虚拟环境
    deactivate
4.删除虚拟环境
    rmvirtualenv env-name
5.列出虚拟环境
    lsvirtualenv
6.进入到虚拟环境所在的目录
    cdvirtualenv

注意:安装完或者配置完环境变量之后要重启一下终端才会起作用

其他命令:

Which xxxxx  查找位置

pip3 freeze > requirments.txt  生成 包的名字和版本 txt格式

pip3 install -r requirments.txt  导入txt的包

 

 

 

posted @   Mr·Li程序员  阅读(466)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示
目录