[英]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.