环境"/>
Mac OS配置python虚拟环境
一、安装虚拟环境 virtualenv
在Mac版本上安装 (都在终端执行):
1.安装 virtualenv
pip3 install virtualenv (pip安装在python2,pip3安装在python3中)
如果报错 可尝试 sudo -H pip3 install virtualenv
2.通过pip3 安装(默认安装在/usr/local/bin 路径下)
在根目录下执行 : sudo pip3 install virtualenvwrapper
3.配置 wrapper 运行的环境
mkdir ~/env_workspaces # 在用户目录下创建统一存放虚拟环境的目录
vim ~/.bash_profile # 编辑此文件
虚拟环境文件存放的路径
export WORKON_HOME=~/env_workspaces
##### 设置默认的python版本
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.6
##### 添加要激活的文件路径
source /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/virtualenvwrapper
一个是 python安装路径,一个是 virtualenvwrapper,sh路径
4.把配置刷到硬盘 virtualenvwrapper 文件
source ~/.bash_profile
5.可以通过 which命令查看路径
#which python
which virtualenvwrapper.sh 指定 virtualenv的路径:
6. 基于python3创建出一个虚拟环境shoppingapi,放在env_workspaces文件内
mkvirtualenv -p python3 shoppingapi
workon 查看目前有哪几个虚拟环境。
workon shoppingapi # 使用 shoppingapi
deactivate # 退出当前虚拟环境
导出项目依赖模块(第三方模块导出) pip freeze >req.txt
二、 例子:创建环境
例:mkdir ~/py_envs # 在用户目录下创建了一个统一管理虚拟环境的目录
cd ~/py_envs # 跳进这个目录
virtualenv env_workspace1 # 创建一个虚拟工作空间
激活环境
cd env_workspace1 # 进入虚拟环境
source bin/activate # 激活虚拟环境
这个时候命令行前就会有虚拟环境标识 (env_workspace1) xxxdeMacBook-Air:env_workspace1 xxx$
使用环境(注意!不要加sudo,否则会安装到系统环境中,没有安装到虚拟环境中)
pip3 install xxx
退出环境
在虚拟环境下执行 : deactivate
删除环境 (需要在退出环境之后执行操作)
$ rmvirtualenv 环境名
安装虚拟环境管理包 virtualenvwrapper
通过pip3 安装(默认安装在/usr/local/bin 路径下)
在根目录下执行 : sudo pip3 install virtualenvwrapper
配置 wrapper 运行的环境
mkdir ~/env_workspaces # 在用户目录下创建统一存放虚拟环境的目录
vim ~/.bash_profile # 编辑此文件
输入
export WORKON_HOME=~/env_workspaces # 加入自己设定的所有虚拟环境的工作空间
source /usr/local/bin/virtualenvwrapper.sh # 添加要激活的文件路径
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 设置默认的python版本
激活 virtualenvwrapper 文件
source ~/.bash_profile
注:若激活不成功,提示: -bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory, 则检查写的目录。
之前说过 wrapper 默认安装在 /usr/local/bin 路径下,我们可以通过
which virtualenvwrapper.sh 和 which python3 来检查写的目录是否正确。
通过 wrapper 创建虚拟环境空间
mkvirtualenv py_db # 在虚拟环境目录 env_workspaces 下创建了 py_db 这个虚拟环境并自动进入
三、 小的整理在Mac版本上安装 终端执行
3.1 #### 在Mac版本上安装
建议使用pip3安装到python3环境下
使用的豆瓣源安装
01 安装 virtualenv
pip3 install -i virtualenv
在根目录下执行 通过 pip/pip3 安装(默认安装在/usr/local/bin 路径下)
pip3 install -i virtualenvwrapper
先找到virtualenvwrapper的工作文件 virtualenvwrapper.sh
建议不管virtualenvwrapper.sh在哪个目录,保证在 /usr/local/bin 目录下有一份
如果不在 /usr/local/bin 目录,如在 ~/.local/bin 目录,则复制一份到 /usr/local/bin 目录
– sudo cp -rf ~/.local/bin/virtualenvwrapper.sh /usr/local/bin
02 配置 wrapper 运行的环境
mkdir ~/env_workspace #在用户目录下创建统一存放虚拟环境的目录
vim ~/.bash_profile # 编辑此文件
03 # 输入下列内容
export WORKON_HOME=~/env_workspaces # 加入自己设定的所有虚拟环境的存放路径
source /usr/local/bin/virtualenvwrapper.sh # 添加要激活的文件路径
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 设置默认的python版本
04.激活 virtualenvwrapper 文件 # 在终端让配置生效:
source ~/.bash_profile
四、 报错的处理方式
➜ ~ source ~/.bash_profile
/usr/local/bin/python3: Error while finding module specification for ‘virtualenvwrapper.hook_loader’ (ModuleNotFoundError: No module named ‘virtualenvwrapper’)
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 and that PATH is
set properly.
问题2:
/usr/local/bin/python3.7: Error while finding module specification for ‘virtualenvwrapper.hook_loader’ (ModuleNotFoundError: No module named ‘virtualenvwrapper’)
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.7 and that PATH is
set properly.
问题3:
vim ~/.bash_profile
export WORKON_HOME=KaTeX parse error: Expected 'EOF', got '#' at position 19: …E/.virtualenvs #̲export PROJECT_…HOME/workspace
export VIRTUALENVWRAPPER_PYTHON=/usr/local/lib/python3.7
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bash_profile
然后刷缓存,提示:
virtualenvwrapper_run_hook:12: permission denied: /usr/local/lib/python3.7
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/lib/python3.7 and that PATH is
set properly.
真实有效!
先说一下,我的文档所在目录和前提:
1)mac刚买的时候就自带了2.7的python , 然后我就自己装了python3;
2)我是直接pip3 install virtualenv安装virtualenv的;然后就都是默认路径,下面说下我被安装的路径:
要配置要先找全和搞清楚以下文件的路径!!!!!很重要,不然就是各种报错
2.1)/usr/local/bin/virtualenvwrapper.sh #我一开始一直按网上说的配这个文件在的地址,然后因为mac对usr文件的权限控制,一直提示权限问题!烦了我2天这个问题
2.2)/usr/local/lib/python3.7/site-packages/virtualenvwrapper/pycache/hook_loader.cpython-37.pyc
因为一直被提示:If Python could not import the module virtualenvwrapper.hook_loader,所以我就去找hook_loader文件,哈哈果然被我找到了;
2.3)最后具体配置:
export WORKON_HOME=KaTeX parse error: Expected 'EOF', got '#' at position 19: …E/.virtualenvs #̲下面这个配不配都可以,为什么要…(command \which python)")目的都是一样的
#export VIRTUALENVWRAPPER_PYTHON=/usr/local/lib/python3.7
#下面这个是关键,我一开始配成:/usr/local/bin/virtualenvwrapper.sh,然后开始各种权限报错,头疼的一批,还好提示信息救了我,我找到了hook_loader.cpython-37.pyc文件,然后把这个路径配在下面,终于不报错了!!!!,是一个文件夹,不是.sh文件,也不知道其他人配那个.sh文件所在路径,怎么就不会有权限问题,反正我搞了半天 ,最后反正配成以下内容就可以了
source /usr/local/lib/python3.7/site-packages/virtualenvwrapper
最后讲一下,后面执行语句虽然报权限问题,但是不用管他,都是能执行成功的!!
例如:
➜ ~ workon py2env #(py2env是已经存在的虚拟环境,下面报错不用管,虽然报错了,但是执行成功了,你可以看到你已经进入了)
virtualenvwrapper_run_hook:12: permission denied: /usr/local/lib/python3.7
virtualenvwrapper_run_hook:12: permission denied: /usr/local/lib/python3.7
说明python的文件路径不对
报了以上的错误,大概率都是文件路径不对,需要加入环境变量的绝对路径, 供大家参考
更多推荐
Mac OS配置python虚拟环境
发布评论