Python 虚拟环境

. 概述

Python有各种各样的系统包和第三方开发的包,让我们的开发变得异常容易。不过也引入了一个问题,不同代码需要的包版本可能是不一样的,所以常常回出现这种情况,为了代码B修改了依赖包的版本,代码B能work了,之前使用的代码A就没法正常工作了。因此常常需要对不同的代码设置不同的Python虚拟环境。venv是Python自带的虚拟环境管理工具,使用很方便,这里简单记录一下使用方法。

需要注意的是,venv 工具没法创建不同版本的python环境,也就是如果你用python3.5没法创建python3.6的虚拟环境。如果想要使用不同python版本的虚拟

视频学习地址:
https://www.bilibili.com/video/BV1V7411n7CM

Python 虚拟环境 pyenv、venv(pyvenv)、virtualenv之间的区别

https://www.cnblogs.com/qinhan/p/9293126.html

使用方式:
参考文档:
https://www.bilibili.com/read/cv14672821 出处:bilibili

环境:

  • window10
  • python3.10.5
  • pip 22.0.4
  1. 安装

python3.6及以上已经默认安装,python3.5需要通过系统的包管理工具安装:

haima@haima-PC:~/Desktop$ python -m venv -h
/usr/bin/python: No module named venv

pip3 install --user virtualenv

或者

sudo apt install python3-venv

  1. 创建虚拟环境

新建代码目录并进入目录

mkdir /learn/requests_demo
cd /learn/requests_demo

在目录下创建虚拟环境:

/learn/requests_demo$ python -m venv env

会看到新生成虚拟目录
image

  1. 启用虚拟环境
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ source env/Scripts/activate
(env) 

看到前面有(env),说明已经激活虚拟env

  1. 退出虚拟环境
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ deactivate
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ 

看到前面(env)已经没有了

  1. 查看项目用了哪些依赖
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ pip list
Package    Version
---------- -------
pip        22.0.4
setuptools 58.1.0
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the 'D:\Program Files\python\python.exe -m pip install --upgrade pip' command.

## 更新pip

Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in d:\program files\python\lib\site-packages (22.0.4)
Collecting pip
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001BC5B7396F0>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/08/e3/57d4c24a050aa0bcca46b2920bff40847db79535dc78141eb83581a52eb8/pip-23.1.2-py3-none-any.whl
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001BC5B7399F0>, 'Connection to files.pythonhosted.org timed out. (connect timeout=15)')': /packages/08/e3/57d4c24a050aa0bcca46b2920bff40847db79535dc78141eb83581a52eb8/pip-23.1.2-py3-none-any.whl
  Downloading pip-23.1.2-py3-none-any.whl (2.1 MB)
     ---------------------------------------- 2.1/2.1 MB 102.7 kB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.0.4
    Uninstalling pip-22.0.4:
      Successfully uninstalled pip-22.0.4
Successfully installed pip-23.1.2

/learn/requests_demo$ pip list
certifi==2021.10.8
charset-normalizer==2.0.7
click==8.0.3
Flask==2.0.2
idna==3.3
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
requests==2.26.0
urllib3==1.26.7
Werkzeug==2.0.2
xlwt==1.3.0

  1. 导出依赖
/learn/requests_demo$ pip freeze > requirement.txt

如下图,会生成文件requirement.txt

image

  1. 使用requirement.txt依赖
/learn/requests_demo$ pip310 install -r requirement.txt

pycharm创建新项目

image

2.创建新项目时保存虚拟虚拟环境配置,以后再创建类似的项目时可以下面选择

image

image

查看创建的虚拟环境
image

从下面可以看到当前项目使用虚拟环境所有的目录
image

禁用虚拟环境

(flaskenv) haima@haima-PC:/media/haima/34E401CC64DD0E282/site/python/learn/flask/flask_demo01$ deactivate
haima@haima-PC:/media/haima/34E401CC64DD0E282/site/python/learn/flask/flask_demo01$

启用虚拟环境

haima@haima-PC:/media/haima/34E401CC64DD0E282/site/python/learn/flask/flask_demo01$ ../flaskenv/bin/activate
(flaskenv) haima@haima-PC:/media/haima/34E401CC64DD0E282/site/python/learn/flask/flask_demo01$ 

删除虚拟环境
把虚拟环境目录flashenv目录删除,虚拟环境就没有了

删除后,再次创建虚拟环境
/learn/flask/flask_demo01$ python310 -m venv myenv

3.再创建新项目时,我就可以使用之前创建的配置
image

posted @ 2021-10-31 20:51  HaimaBlog  阅读(154)  评论(0编辑  收藏  举报