导语
多数情况下,在开发、运行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
正是实现这一步的不二法宝。