您好我已经阅读了很多关于虚拟环境但我似乎没有得到一件事。
所以我有这样的道路:
../my_app/
../my_app/app.py
..etc
我应该把虚拟环境放在哪里?
在my_app
内/my_app/venv/bin,include,lib
?
或与my_app
/my_app/
/venv/
我不明白这个位置是否重要,或者如果使用activate
它会引用它而不是去主要环境。
我希望这个问题有道理。
谢谢!
答案 0 :(得分:3)
我建议使用virtualenv
创建的根目录作为源文件的根目录。虚拟环境旨在与项目绑定,而不是在不同项目之间共享。例如,假设我在~/school
目录中编写了大量代码。我cd
到~/school
,执行virtualenv ENV
。现在我有一个ENV
目录,用于保存项目的源文件和依赖项。因此,您可以创建一个~/school/ENV/source
文件夹,以保留所有源文件夹。所有虚拟环境文件都靠近您的程序,可以在ENV
目录中轻松访问。
编辑:
解决问题的一部分:只要您在运行python程序并使用source bin/activate
安装依赖项之前跟踪您的环境和pip
,就可以在任何地方安装虚拟环境。
答案 1 :(得分:2)
我不明白这个位置是否重要或是否使用激活它 将引用它而不是去主要环境。
没关系,因为激活会正确处理路径,但是您不应该将虚拟环境放在源中,因为它不是您的应用程序的一部分(并且它不是可移植的) 。而是创建一个file with your requirements并将其放在源代码管理下。
您应该将它放在除源代码之外的任何目录中。激活脚本将确保路径指向正确的位置。
以下是一个例子:
$ virtualenv /home/somedir/envs/myenv
... # some output
$ source /home/somedir/envs/myenv/bin/activate
(myenv) $ mkdir /home/somedir/projects
(myenv) $ cd /home/somedir/projects
(myenv) projects $
如您所见,虚拟环境位于envs
目录中,名为myenv
。您的来源位于/home/somedir/projects
。输入deactivate
退出虚拟环境。