Mac m1 创建虚拟环境


我不得不吐槽一下,最近在使用 python 创建 virtualenv ,遇到了配置问题,我百度了下,解决问题的文章倒是不少,但是解决办法都是惊人的相似,文章不少,内容写的一模一样

很多人写文章都是为了吸粉,随意 copy 、转载,于是在我们遇到问题的时候,你会发现,解决方案根本找不到

看完之后,你就会发现:根本不需要卸载 python3 等无效的解决方案,一次性解决你的问题

不吐槽了,已卒……

本人环境介绍:

MacbookPro M1 + Python3

Mac自带的是python2.7,我自己安装了python3.9

关于python3的安装,请移步: https://blog.csdn.net/hell_oword/article/details/113182301

1、mac搭建虚拟环境的步骤

网上的一般安装步骤

  • 安装 virtualenv

    # 隔离Python环境的工具
    sudo pip3 install virtualenv
    # 便于使用和管理 virtualenv
    sudo pip3 install virtualenvwrapper
    
  • 创建一个虚拟环境,通过该步骤检查命令是否可以用

    mkvirtualenv -p python3 py3_django
    
  • 如果提示找不到 mkvirtualenv 命令,须配置环境变量

    按照网上的一般教程配置如下,配置后根本不行,有问题

    # 1. 打开~/.bashrc文件,并添加如下
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
    # 2. 刷新的配置
    source ~/.bashrc
    

2、问题解决(重点)

  • 问题合集

    ① virtualenvwrapper.sh 的路径错误,先确定你的 virtualenvwrapper.sh 的路径

    # 第一种
    /usr/local/bin/virtualenvwrapper.sh
    # 第二种
    /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
    

    ② Mac的配置文件使用错误,你需要确认你的环境变量配置文件是否为 ~/.bash_profile

    /usr/bin/python3 这个地址下是否有你的 python3
    ④ 配置后记得执行 source ~/.bash_profile 或者 关闭终端并重新打开
    更多关于 bash_profile 的配置问题,请移步我的这篇博客
    https://blog.csdn.net/hell_oword/article/details/113182301

  • 配置步骤

    ① 我的环境变量配置文件为 ~/.bash_profile,我的 virtualenvwrapper.sh 的路径为这个

    # 在~/.bash_profile添加以下内容
    export WORKON_HOME=$HOME/.virtualenvs
    source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
    

    发生了报错:

    /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: 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/bin/python and that PATH is
    set properly.
    

    ② 按照网上说的,我进行了更改:添加 Python 3的映射地址

    VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export WORKON_HOME=$HOME/.virtualenvs
    source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
    

    发生了报错:很明显这个映射地址不对

    xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    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/bin/python3 and that PATH is
    set properly.
    

3、终极解决方案

  • 关于virtualenv的方案,官网已经给出了不同环境的配置方案,地址
    https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/development_environment
    在这里插入图片描述

  • Mac的两种配置方式,请根据你的 virtualenvwrapper.sh 路径实际配置

    ① 第一种

    # 由于我的python版本为3.9,于是我将3.7 改成3.9
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
    export PROJECT_HOME=$HOME/Devel
    source /Library/Frameworks/Python.framework/Versions/3.9/bin/virtualenvwrapper.sh
    

    ② 第二种

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export PROJECT_HOME=$HOME/Devel
    source /usr/local/bin/virtualenvwrapper.sh
    
    
  • Ubuntu 的虚拟环境配置

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    export PROJECT_HOME=$HOME/Devel
    source /usr/local/bin/virtualenvwrapper.sh
    
  • Win10的 虚拟环境配置

    pip3 install virtualenvwrapper-win
    
  • 大功告成,成功创建虚拟环境
    在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值