Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不同的项目之间分离我的venv?_Python_Python Venv - Fatal编程技术网

Python 如何在不同的项目之间分离我的venv?

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文件夹中

我只是从Javascript背景学习python。在JS中,我可以使用npm管理依赖项

例如,如果我有project1/和project2/,我可以在这两个单独的文件夹中npminit,它们不会相互中断

但是,如果我有project1/和project2/,那么使用python,我确实有

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版本。