[英]Alternative for running Python script from shell using existing virtual environment
[英]Running Python from Virtual environment?
在~/python/venv/venv_python2
文件夹中创建虚拟环境。
我可以以常规方式(对于venvs)运行python
:
source ~/python/venv/venv_python2/bin/activate
python
或者我可以使用以下命令运行python:
~/python/venv/venv_python2/bin/python
上面的2和有什么不一样?
没有区别。
您可以通过在bash中键入which python
来检查python
在哪里运行。 当您进入虚拟环境时,您会看到它指向您的虚拟环境。
虚拟环境的目的是隔离其中的依赖性,因此您不必担心知道通往正确的Python解释器或已安装的库的确切路径。 因此,尽管使用绝对路径从技术上来说不是不正确的,但它会完全绕过virtualenv的功能,如果您今天在脚本中对其进行硬编码,并决定移动,迁移或重构您的virtualenv,则最终可能会指向错误的位置明天。
两者之间有一个非常微小的,几乎不相关的差异:
~/python/venv/venv_python2/bin/python
确切指定您要使用的Python解释器。
python
运行检查路径时首先找到的解释器。
发出source ~/python/venv/venv_python2/bin/activate
是将~/python/venv/venv_python2/bin
放在路径的前面,因此当您运行/
-free命令时,第一个外壳看起来就是该目录,这意味着python
将解析为您的虚拟环境中的那个目录。
因此,两种方法唯一不同的唯一方法是同时修改了PATH
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.