我知道这可能是一个非常基本的问题,但实际上我已经做过一些研究,但找不到答案。
我有一些包含数据和脚本的文件夹,还有一个我可以激活的Python virtualenv,它工作正常。
mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc$ source env/bin/activate
(env) mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc$
我甚至可以从上面的一个或多个级别访问它:
(env) mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc$ deactivate
mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc$ cd ..
mosegui@WS22:~/_storage/Messdaten/clover/ft01$ source calc/env/bin/activate
(env) mosegui@WS22:~/_storage/Messdaten/clover/ft01$
(env) mosegui@WS22:~/_storage/Messdaten/clover/ft01$ deactivate
mosegui@WS22:~/_storage/Messdaten/clover/ft01$
mosegui@WS22:~/_storage/Messdaten/clover/ft01$ cd ..
mosegui@WS22:~/_storage/Messdaten/clover$
mosegui@WS22:~/_storage/Messdaten/clover$ source ft01/calc/env/bin/activate
(env) mosegui@WS22:~/_storage/Messdaten/clover$
但是,如果尝试从激活所在的相同位置访问它,我最终会处于不同的环境中:
(env) mosegui@WS22:~/_storage/Messdaten/clover$ deactivate
mosegui@WS22:~/_storage/Messdaten/clover$ cd ft01
mosegui@WS22:~/_storage/Messdaten/clover/ft01$ cd calc
mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc$ cd env
mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc/env$ cd bin
mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc/env/bin$ source activate
(base) mosegui@WS22:~/_storage/Messdaten/clover/ft01/calc/env/bin$
我最终进入的是(基本)环境,而不是我的(环境)。
因此,据我所知,“激活”文件以及“ bin”文件夹中的所有其他文件仅包含重新创建(基本)环境所需的信息,而不包含我的(env)环境。由于“ bin”级别以上的文件夹是“ include”和“ libs”,我的猜测是(base)和(env)之间的区别基本上是已安装的依赖项。
我可以尝试复制文件夹“ include”,“ libs”和“ pip-selfcheck” JSON对象,然后将其粘贴到“ bin”中,看看再次尝试激活环境时会发生什么,但是不幸的是,没有这样做的权限...
我只是想知道是否有人可以确认我的理解是否正确,并且,如果可能的话,请给我解释“ source”命令在幕后的实际作用。
非常感谢您。
D。