为了避免污染系统环境中的Python,我们在使用Python开发项目时,通常会在项目的根目录下创建一个python虚拟环境。看官网文档,python3.6+以上,python自带venv命令可以快速搭建虚拟环境,只需要在谷歌搜索【python3.xvenvdocs】搜索对应版本的Python,venv文档。使用venv创建虚拟环境:python-mvenvvenv存在无法创建不同版本Python虚拟环境的问题。比如我的系统只有python3.7,所以无法创建python3.8的虚拟环境。这也是我目前遇到的问题。一些比较新的项目需要python3.8+,而我的系统只有python3.7。这时候就需要用到pipenv了。先安装:pipinstallpipenvpipenv基本都是用pipenv,用法也很多。我想了一会儿。要用好pipenv,了解概念和基本用法就够了。最基本的命令是创建具有不同Python版本的虚拟环境。在项目根目录下,运行如下pipenv命令:pipenv--python3.8.8pipenv会扫描系统中对应的位置,判断python3.8.8是否已经可用,如果没有,会自动下载python3.8.8并创建python3为项目。8.8版本的虚拟环境。另外还有一个知识点:如果项目根目录下有Pipfile,如何根据Pipfile中的信息创建虚拟环境,比如安装对应的第三方库,如果没有,如何生成它在默认形式的虚拟环境中,然后创建Pipfile,通过VsCode打开Pipfile,其形式如下:[[source]]url="https://pypi.org/simple"verify_ssl=truename="pypi"[packages]]numpy="==1.21.5"[dev-packages][requires]python_version="3.8"source用于设置仓库地址,即从哪里下载虚拟环境需要的包。packages用于指定项目依赖的包,即你安装的dev-packages用于指定开发环境需要的包。此类包仅在开发过程中使用,与生产环境无关,如单元测试。只在开发阶段有用,便于单独管理。在requires中指定目标Python版本。pipenv默认会在~/.virtualenvs中安装虚拟环境。通过pipenv--venv可以直接查看当前项目的虚拟环境路径。如果我们需要使用PyCharm来写项目,我们可以使用这个目录直接在PyCharm中设置并使用这个虚拟环境:pipenv一般命令如下:#Installcommandpipenvinstallrequests#Installrequestspipenvinstallparsel==1.3.1inthevirtual项目所在环境#安装parsel并指定其版本pipenvinstall--devnose2#安装nose2包及其关联为仅在开发环境中需要的包#卸载命令pipenvuninstallrequests#在项目所在的虚拟环境中卸载requestslocatedspipenvuninstall--all#从虚拟环境中移除所有已安装的包,但Pipfile.lock文件不受影响pipenvuninstall--all--dev#从虚拟环境中卸载所有开发包,并从Pipfile文件中移除这些包#Update命令pipenvupdaterequests#更新项目中的请求包pipenvupdate#更新项目中的所有包pipenvupdate--outdated#查看现有哪些包已过期#查看命令pipenvgraph#显示现有依赖包pipenvlock#更新Pipfile.lock文件锁定当前环境pipenvshell的依赖版本在我目前的工作流程中,除了使用pipenv创建虚拟环境,其他的pipenv命令我用的不多,因为pip命令我已经很熟悉了,不想死记硬背pipenv命令。pipenv创建好虚拟环境后,我会在当前终端通过pipenvshell激活虚拟环境,然后直接在里面使用pip。这样从venv到pipenv几乎没有切换成本。具体过程是:pipenv--python3.8.8pipenvshellpipinstallrequests结束就好了。pipenv知道这个级别就够了。至于其他的细节,如果不遇到问题,是不会深入研究的。考虑投入产出比。参考文章:Pipenv入门
