在~/python/venv/venv_python2
文件夹中创建虚拟环境。
我可以定期运行python
(对于venvs):
source ~/python/venv/venv_python2/bin/activate
python
或者我可以用:
运行python~/python/venv/venv_python2/bin/python
上述2之间有什么区别?
答案 0 :(得分:2)
没有区别。
您可以在bash中输入python
来查看which python
的运行位置。当您进入虚拟环境时,您会发现它指向您的虚拟环境。
答案 1 :(得分:0)
虚拟环境的目的是隔离其中的依赖项,这样您就不必担心知道正确的Python解释器或已安装的库的精确路径。因此,虽然使用绝对路径在技术上并非不正确,但它完全绕过virtualenv的设施,如果你今天在脚本中对其进行硬编码,最终可能最终指向错误的位置,并决定移动,迁移或重构你的virtualenv明天。
答案 2 :(得分:0)
两者之间存在非常微小的,几乎无关的区别:
~/python/venv/venv_python2/bin/python
指定完全您要使用哪个Python解释器。
python
在检查路径时,首先找到解释器 。
source ~/python/venv/venv_python2/bin/activate
所做的一件事就是它将~/python/venv/venv_python2/bin
放在路径的前面,这样当你运行/
- free命令时,shell的第一个位置是该目录,意味着python
将解析为虚拟环境中的目录。
因此,您的两种方式不同的唯一方法是在此期间还有其他内容修改了您的PATH
。