Python Virtualenv”;。venv/bin/activate";vs";源venv/bin/activate;
假设我创建了一个名为venv(virtualenv-venv)的virtualenv 从阅读教程中,我了解到有两种激活虚拟环境的方法:Python Virtualenv”;。venv/bin/activate";vs";源venv/bin/activate;,python,virtualenv,Python,Virtualenv,假设我创建了一个名为venv(virtualenv-venv)的virtualenv 从阅读教程中,我了解到有两种激活虚拟环境的方法: 。venv/bin/激活 source-venv/bin/activate 我想他们都完成了同样的事情,但我不明白发生了什么 同样对于数字1,“.”不就是指当前文件夹吗?但是如果我只输入“venv/bin/activate”而不输入“.”就不行了 任何帮助都会很好 命令本质上是源代码的别名。它们都在当前shell中执行给定的脚本,而无需派生新的shell 这是一
。venv/bin/激活
source-venv/bin/activate
任何帮助都会很好 命令本质上是源代码的别名。它们都在当前shell中执行给定的脚本,而无需派生新的shell
这是一些很好的例子。
和源代码
做了完全相同的事情,唯一的区别是虽然源代码
可读性更好,但并非在所有shell中都可用
该命令在当前shell中运行脚本的内容,这在激活
的情况下非常重要,因为脚本所做的一件事是导出和修改当前shell中的环境变量
如果使用/path/to/activate
,脚本将在子shell中运行,并且一旦脚本完成且子shell终止,所有设置的环境变量都将丢失
同样对于数字1,“.”不就是指当前文件夹吗
根据上下文有不同的含义。它仅在用作路径(或路径的一部分)时表示“当前文件夹”
发件人:
不要将dot命令与a混淆
顺便说一句,我建议您看看哪个提供了额外的包装器命令,使
virtualenv
更易于使用
使用VirtualNVRapper
,只需调用以下命令即可切换到环境:
workon YOUR_ENV
@哎呀。我可能不小心把它删掉了。让我把它放回去。如果你在使用Ubuntu,你必须小心它使用Dash,在早期版本中/bin/bash指向Dash(不确定它是否仍然存在),因此源代码不起作用,但是。工作正常。另一种方法是:
是在任何地方都可以工作的别名,source
是别名(在shell的子集上可用)。