python 虚拟环境配置
- 软件开发
- 2022-07-25
- 11热度
- 0评论
Python虚拟环境配置
virtualenv
什么是 virtualenv
为应用创建一套隔离的 python 运行环境,python2、python3 均支持。
安装 virtualenv
- pip install virtualenv
- pip install virtualenvwrapper-win
F:\PY_PROJECTS\virtualenv>pip list
Package Version
--------------------------------- -------
backports.entry-points-selectable 1.1.0
distlib 0.3.3
filelock 3.3.0
pip 21.3
platformdirs 2.4.0
setuptools 56.0.0
six 1.16.0
virtualenv 20.8.1
virtualenvwrapper-win 1.2.6
新建虚拟环境目录
- mkdir F:\PY_PROJECTS\virtualenv
配置环境变量
- WORKON_HOME:F:\PY_PROJECTS\virtualenv
测试安装
- cmd 执行 workon 命令,可以列出所有虚拟环境
- workon [name] 可以进入指定的虚拟环境
- deactivate 退出当前的虚拟环境
- mkvirtualenv [name] 创建虚拟环境
- rmvirtualenv [name] 删除虚拟环境
创建虚拟环境
- mkvirtualenv dj_py3 -p python3
- dj_py3(虚拟环境名称)
- -p python3(指定python版本),不写则默认环境变量中配置的python版本
进入虚拟环境
- F:\PY_PROJECTS\virtualenv>workon dj_py3
- (dj_py3) F:\PY_PROJECTS\virtualenv>
venv
什么是 venv
python 3.3以上自带,无需额外安装。原名 pyvenv 在python3.6 名称被弃用。
pipenv
是什么
pipenv 集成了 pip,virtualenv 两者的功能,并完善了两者的缺陷
安装 pipenv
- pip install pipenv
创建虚拟环境
- 创建文件夹:mkdir dj_py3
- 进入文件夹:cd dj_py3
- 初始化虚拟环境:pipenv install
创建好环境后,会生成,Pipfile 、Pipfile.lock 文件
提交项目时,可以提交这两个文件,其他开发克隆项目后,执行 pipenv install --dev
生成自己的虚拟环境。
Pipfile.lock 是通过 hash 算法将包的名称和版本以及依赖关系生成哈希值,保证包的完整性。
我本地初始化时,报错,AttributeError: 'NoneType' object has no attribute 'version_sort'
,是因为找不到 python 的版本,解决方法:1、复制 python3.exe 重命名为 python.exe;
2、在项目下新建 Pipfile,内容
[requires]
python_version=“3.9.5”
执行 pipenv install ,成功解决。
F:\PY_PROJECTS\Projects\test01>pipenv install
Creating a virtualenv for this project...
Pipfile: F:\PY_PROJECTS\Projects\test01\Pipfile
Using D:/Program Files/Python39/python.exe (3.9.5) to create virtualenv...
[== ] Creating virtual environment...created virtual environment CPython3.9.5.final.0-64 in 5698ms
creator CPython3Windows(dest=F:\PY_PROJECTS\virtualenv\test01-u_sI2Wph, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\x1c\AppData\Local\pypa\virtualenv)
added seed packages: pip==21.2.4, setuptools==58.1.0, wheel==0.37.0
activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
Successfully created virtual environment!
Virtualenv location: F:\PY_PROJECTS\virtualenv\test01-u_sI2Wph
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (8c0763)!
Installing dependencies from Pipfile.lock (8c0763)...
================================ 0/0 - 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
pipenv 管理模块和包
- 查看安装包及依赖关系:pipenv graph
- 初始化虚拟化环境:pipenv install
- 安装虚拟环境的模块包:pipenv install 包名
- 卸载虚拟环境的模块包:pipenv uninstall 包名
- 生成 requirements.txt 文件:pipenv lock -r --dev > requirements.txt
- 通过 requirements.txt 文件安装环境:pipenv install -r requirements.txt
Pipfile 文件
安装好虚拟环境后,会生成 Pipfile 文件,内容如下(如果手动建的 Pipfile 结构不会变,可以删掉重新执行 pipenv install):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "3.9"
- 可以修改 url 为国内的源:https://pypi.tuna.tsinghua.edu.cn/simple