从虚拟环境运行Python?

时间:2018-04-15 13:01:44

标签: python bash virtual

~/python/venv/venv_python2文件夹中创建虚拟环境。

我可以定期运行python(对于venvs):

source ~/python/venv/venv_python2/bin/activate
python

或者我可以用:

运行python
~/python/venv/venv_python2/bin/python

上述2之间有什么区别?

3 个答案:

答案 0 :(得分:2)

没有区别。

您可以在bash中输入python来查看which python的运行位置。当您进入虚拟环境时,您会发现它指向您的虚拟环境。

答案 1 :(得分:0)

虚拟环境的目的是隔离其中的依赖项,这样您就不必担心知道正确的Python解释器或已安装的库的精确路径。因此,虽然使用绝对路径在技术上并非不正确,但它完全绕过virtualenv的设施,如果你今天在脚本中对其进行硬编码,最终可能最终指向错误的位置,并决定移动,迁移或重构你的virtualenv明天。

答案 2 :(得分:0)

两者之间存在非常微小的,几乎无关的区别:

  1. ~/python/venv/venv_python2/bin/python指定完全您要使用哪个Python解释器。

  2. python在检查路径时,首先找到解释器

  3. source ~/python/venv/venv_python2/bin/activate所做的一件事就是它将~/python/venv/venv_python2/bin放在路径的前面,这样当你运行/ - free命令时,shell的第一个位置是该目录,意味着python将解析为虚拟环境中的目录。

    因此,您的两种方式不同的唯一方法是在此期间还有其他内容修改了您的PATH