Mac OS配置python虚拟环境

编程入门 行业动态 更新时间:2024-10-27 04:28:15

Mac OS配置python虚拟<a href=https://www.elefans.com/category/jswz/34/1771403.html style=环境"/>

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虚拟环境

本文发布于:2023-06-28 20:00:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/932808.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环境   Mac   OS   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!