目录

Mac上安装Python3虚拟环境VirtualEnv

Mac上安装Python3虚拟环境(VirtualEnv)

Mac上安装Python3虚拟环境

1.为什么要安装虚拟机?

单独的虚拟环境可以让每一个Python项目单独使用一个环境,而不会影响Python系统环境,也不会影响其他项目的环境。示意图如下

https://i-blog.csdnimg.cn/blog_migrate/722d36b8ac8188b0e73a20cd4cba9887.png

安装virtualenv环境
[sudo] pip3 install virtualenv [sudo]可用可不用

安装完成检测版本是否安装成功

virtualenv --version

如果遇到not found command,可以使用以下偏方

pip3 unistall virtualenv
n(不要真的卸载了,会显示bin路径)
sudo cp ./virtualenv /usr/loacl/bin

https://i-blog.csdnimg.cn/blog_migrate/23dbe560211e3a5ba789db3a0b981769.png

创建整个大虚拟环境

第一步 cd 到你要创建虚拟环境的目录

创建虚拟环境目录主文件夹,以后文件存放的位置:例workpase

mkdir ~/workpase
cd workpase
virtualenv test_env01(环境名称,文件夹名称)

第二步 激活虚拟环境

source test_env01/bin/activate

ps –>虚拟环境操作:

退出虚拟环境: deactivate
创建虚拟环境: virtualenv --no-site-packages --python=3.6 env 
   #注释: --no-site-packages 不包括系统包 --python=3.6版本 env 虚拟环境名称
激活虚拟环境:source test_env01/bin/activate(activate路径)
安装virtualenvwrapper

问:为什么要安装virtualenvwrapper?

答:virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪。。。

一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。

第二种就是使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。可直接开启虚拟环境

第一步:

进入之前创建的虚拟环境,source activate

pip3 install virtualenvwrapper   # 第一步安装

#把下面两行代码添加到 ~/.bash_profile 文件中 #打开文件
vim ~/.bash_profile #写入以下几行代码
export WORKON_HOME=~/.virtualenvs # 设置 virtualenv 的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 指定 python 解释器的本体(注意此路径随不同的 mac 环境改变而改变)
source /usr/local/bin/virtualenvwrapper.sh # 执行 virtualenvwrapper 安装脚本

读取文件,使得生效,此时已经可以使用 virtalenvwrapper
source ~/.bash_profile

退出会话,重新登录生效,且每次登录的时候,就自动加载 virtualenvwrapper 工具
第二步:

使用 virtualenvwrapper 创建子虚拟环境

创建子虚拟环境(注意这些操作都是安装 virtualenvwrapper 之后)的

1. 创建一个虚拟环境:
$ mkvirtualenv py3env01(环境名)
或
mkvirtualenv -p python3 py3env01 (python3 条件下环境名为 py3env01 的子虚拟环境,可指定解释器版本)

这会在 ~/.virtualenvs 中创建 py3env01 文件夹。

2. 在虚拟环境上工作:激活虚拟环境 py3env01
   $ workon py3env01

3. 再创建一个新的虚拟环境
   $ mkvirtualenv py3env02

virtualenvwrapper 提供环境名字的 tab 补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

4. workon 还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
   workon py3env01
   workon py3env02

5. 也可以手动停止虚拟环境
   deactivate

6. 删除虚拟环境,需要先退出虚拟环境
   rmvirtualenv py3env01
   

常用其他指令

1. 列举所有的虚拟环境。
   lsvirtualenv

7. 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
   cdvirtualenv

8. 和上面的类似,但是是直接进入到 site-packages 目录中。
   cdsitepackages

9. 显示 site-packages 目录中的内容。
lssitepackages

借鉴: