Skip to main content

2篇文章 tagged with "日行一令"

View All Tags

· 约7分钟
Proca

导语

多数情况下,在开发、运行Python项目时,我们需要使用诸如 pip 的包管理工具,在Python环境中查找、下载、安装、卸载各种Python包。通常,包都会被安装到Python安装目录的 site-packages 文件夹下。这样,在同一Python环境中的不同项目,都会使用 site-packages 下所安装的包。

但不同项目对于同一种包的版本需求可能不同,并且当我们使用 pip install <pkgname> 时,通常不会仅仅安装一种包:

pip install Scrapy
...
Installing collected packages: PyDispatcher, pyasn1, incremental, constantly, zope.interface, w3lib, typing-extensions, six, queuelib, pycparser, pyasn1-modules, lxml, jmespath, itemadapter, hyperlink, filelock, cssselect, attrs, requests-file, protego, parsel, cffi, Automat, Twisted, tldextract, itemloaders, cryptography, service-identity, pyOpenSSL, Scrapy
...

可见,如果我们都只在单一Python环境中运行我们所有的项目,必定会带来包的版本混乱。最简单的方法是把不同的项目放在不同的Python环境中运行。

而命令 python -m venv 正是实现这一步的不二法宝。