. 概述
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
- 安装
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
- 创建虚拟环境
新建代码目录并进入目录
mkdir /learn/requests_demo
cd /learn/requests_demo
在目录下创建虚拟环境:
/learn/requests_demo$ python -m venv env
会看到新生成虚拟目录
- 启用虚拟环境
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ source env/Scripts/activate
(env)
看到前面有(env)
,说明已经激活虚拟env
了
- 退出虚拟环境
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$ deactivate
Administrator@haima-PC MINGW64 /d/code/python/requests_demo
$
看到前面(env)
已经没有了
- 查看项目用了哪些依赖
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
- 导出依赖
如下图,会生成文件/learn/requests_demo$ pip freeze > requirement.txt
requirement.txt
- 使用requirement.txt依赖
/learn/requests_demo$ pip310 install -r requirement.txt
pycharm创建新项目
2.创建新项目时保存虚拟虚拟环境配置,以后再创建类似的项目时可以下面选择
查看创建的虚拟环境
从下面可以看到当前项目使用虚拟环境所有的目录
禁用虚拟环境
(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.再创建新项目时,我就可以使用之前创建的配置
超详细,绝对能解决Cannot run program “D:...\venv\Scripts\python.exe“ (in directory ): CreateProcess error=2
参考:
https://blog.csdn.net/qq_44354520/article/details/121336364