繁体   English   中英

为什么调用 python 可执行文件(在 pipevn 创建的虚拟环境中)不会激活虚拟环境?

[英]Why calling the python executable (in a virtual environment created by pipevn) does not activate the virtual environment?

我正在尝试在另一个脚本中运行 python 脚本。 因此,我想通过调用其 python 可执行文件来激活第二个虚拟环境。 其实我想打电话:

/home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin/python3   second_tool.py  -t table1 .....

为了找到正确的 python 可执行文件,首先我通过 pipenv shell 激活了第二个工具的虚拟环境。 然后,我做到了:

$python3
import sys
sys.executable

结果是这样的:

'/home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin/python3'

然后,我通过以下方式进入该目录:

$cd /home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin

然后,我通过“python3”运行 python。

这样,当我尝试导入项目的包时,它不会重新识别它们!

当我通过 pipenv shell 激活虚拟环境然后我调用 python3 时,它会重新识别这些包。 但是当我从虚拟环境目录中调用 python 可执行文件时,它无法识别它们。 我应该怎么办?

我发现了问题。 我应该使用 python 可执行文件的完整路径。 通过导航到目录然后调用 python 无法正常工作。 即使您导航到 python 可执行文件的文件夹,您仍在调用添加到路径变量的默认 python。

因此,当我使用此行时,它运行 python 并且此 python 识别虚拟环境中存在的包:

/home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin/python3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM