自学内容网 自学内容网

Python 学习之虚拟环境

一、为什么需要虚拟环境

到目前位置我们所有的第三方包安装都是直接通过 pip install xx 的方式进行安装的,这样安装会将那个包安装到你的系统级的 python 环境中。但是这样有一个问题,就是如果你现在 Diango 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9 开发的,让你来维护,但是 Django 1.10 不再兼容 Django 0.9 的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有 Django 1.10 和 Django 0.9 两套环境呢? 这时候我们就可以通过虚拟环境来解决这个问题。

二、如何使用虚拟环境

注意:以下操作是在macbook pro M2 系统中执行

1、安装virtualenv:

pip install virtualenv   //安装在python2的环境中

pip3 install virtualenv  //安装在python3的环境中

2、创建虚拟环境

virtualenv [虚拟环境的名字]  ,mac 默认创建的路径是在/User/[你的电脑用户名]下面

如果你当前的 Python3/Scripts 的查找路径在 Python2/Scripts 的前面,那么将会使用python3 作为这个虚拟环境的解释器。如果 python2/Scripts 在 python3/Scripts 前面,那么将会便用 python2 来作为这个虚拟环境的解释器。

3、进入环境

虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是windows ,第二种是*nix :

  1. windows 进入虚拟环境:进入到虚拟环境的 Scripts 文件夹中,然后执行 activate
  2. *nix进入虚拟环境: source /path/to/virtualenv/bin/activate 一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

sourse /User/[你的电脑用户名]/虚拟环境名字/bin/activate

4、退出虚拟环境

deactivate  退出当前虚拟环境

5、删除虚拟环境

rm -rf [虚拟环境目录]

三、virtualenvwrapper

virtualenvwrapper 这个软件包可以让我们管理虚拟环境变得更加简单,不用再跑到某个目录下通过 virtualenv 来创建虚拟环境,并目激活的时候也要跑到具体的目录下去激活,

1、安装virtualenvwrapper

注意:安装virtualenvwrapper时会自动将virtualenv安装

*nix:  pip install virtualenvwrapper

windows:  pip instal1 virtualenvwrapper-win

2、 virtualenvwrapper 的基本使用

  1. 创建虚拟环境:mkvirtualenv my_env
  2. 切换到某个虚拟环境 workon my_env
  3. 退出当前虚拟环境 deactivate
  4. 删除某个虚拟环境 rmvirtualenv my_env
  5. 列出所有虚拟环境 lsvirtualenv
  6. 进入到虚拟环境所在的目录 cdvirtualenv

3、修改mkvirtualenv的默认路径

修改WORKON_HOME 环境变量

四、报错

第一:问题:使用mkvirtualenv 创建虚拟环境终端报:zsh: command not found: mkvirtualenv

解决: 根据下面步骤配置环境变量

1、新建文件夹virtualenvs  方便管理多个虚拟环境

mkdir $HOME/.virtualenvs  

2、查看virtualenvwrapper.sh位置

  which virtualenvwrapper.sh

我的路径:/Library/Frameworks/Python.framework/Versions/3.12/bin//virtualenvwrapper.sh  

3、查看Python3位置

which python3

我的路径:/Library/Frameworks/Python.framework/Versions/3.12/bin//python3   

4、查看virtualenv位置

find / -name "virtualenv" 

我的路径:/Library/Frameworks/Python.framework/Versions/3.12/bin/virtualenv

5、设置环境变量

  1. open -e ~/.bash_profile 以编辑模式打开bash_profile
  2.  bash_profile中添加
#virtualenvwrapper

export WORKON_HOME=~/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.12/bin//python3

# 指定virtualenv的路径

export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.12/bin/virtualenv

source /Library/Frameworks/Python.framework/Versions/3.12/bin//virtualenvwrapper.sh

command+S 保存,并在终端输入 source ~/.bash_profile 使上述修改生效

参考链接:【2024】 Mac 安装virtualenvwrapper 、环境配置_mac virtualenvwrapper-CSDN博客

新问题:注意:重启终端后再运行mkvirtualenv 的命令,还是会报zsh: command not found: mkvirtualenv,这里再次执行source ~/.bash_profile 即可解决问题,目前尚未寻找到更好的解决方式。欢迎大家来提供新的解决办法!


原文地址:https://blog.csdn.net/weixin_45630548/article/details/142487208

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!