Python 如何在不同的项目之间分离我的venv?
我只是从Javascript背景学习python。在JS中,我可以使用npm管理依赖项 例如,如果我有project1/和project2/,我可以在这两个单独的文件夹中npminit,它们不会相互中断 但是,如果我有project1/和project2/,那么使用python,我确实有Python 如何在不同的项目之间分离我的venv?,python,python-venv,Python,Python Venv,我只是从Javascript背景学习python。在JS中,我可以使用npm管理依赖项 例如,如果我有project1/和project2/,我可以在这两个单独的文件夹中npminit,它们不会相互中断 但是,如果我有project1/和project2/,那么使用python,我确实有 python3 -m venv ./venv source ./venv/bin/activate 在project1/中,然后说我用pip安装numpy安装numpy。然后,如果我在project2文件夹中
python3 -m venv ./venv
source ./venv/bin/activate
在project1/中,然后说我用pip安装numpy安装numpy。然后,如果我在project2文件夹中执行pip冻结,numpy也会作为依赖项列出
我怎样才能像我用JS那样将它们分开。你可以为这两个项目创建两个不同的虚拟环境。。 对于项目1:
python3 -m venv ./venv1
source ./venv1/bin/activate
对于项目2:
python3 -m venv ./venv2
source ./venv2/bin/activate
两种环境都可以安装不同/相同的软件包。
例如,假设您在venv1
中安装了numpy
和pandas
,在venv2
中安装了numpy
和matplotlib
peep freeze在project2中列出numpy的原因是,您对project1和project2使用相同的环境。如果您为
project2
激活了venv,您不应该在pip freeze
输出中看到它。如果您正在寻找能够根据您所在的目录自动激活venv的内容,则可以使用pipenv
pipenv
有它自己的怪癖,所以dyor@Selcuk谢谢你,pipenv正是我想要的。观看了这本有用的教程,并掌握了窍门。这个答案构成了一个很好的基础,但它并没有让你完全了解JS。切换项目时,必须记住在版本之间切换。没有任何东西可以将每个virtualenv正式绑定到特定的项目。你必须遵循的只是手动惯例。我使用了一个插件来扩展它以支持虚拟环境。通过此设置,您可以对其进行设置,以便在一个项目目录中运行Python脚本时,使用一个Python版本。当您在不同的项目目录中时,您将运行不同的Python版本。