我试图在另一个虚拟环境中运行一个python脚本,因此,我想通过调用第二个虚拟环境中的python可执行文件来激活它。因此,我想通过调用第二个虚拟环境中的python可执行文件来激活它。事实上,我想调用。
/home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin/python3 second_tool.py -t table1 .....
为了找到正确的python可执行文件 我首先用pipenv shell激活了第二个工具的虚拟环境。然后,我做到了。
$python3
import sys
sys.executable
结果是这样的:"homemmoradi2:
"homemmoradi2.localsharevirtualenvsmyproject -d4CrnaVYbinpython3
然后,我通过以下方式进入该目录。
$cd homemmoradi2.localsharevirtualenvsmyproject-d4CrnaVYbin。
然后,我用 "python3 "运行python。
这样,当我试图导入项目的包时,它就不会重新识别它们!
当我用pipenv shell激活虚拟环境,然后调用python3时,它重新识别了这些包。但是当我从虚拟环境的目录中调用python可执行文件时,它不识别它们。我应该怎么做?
我发现了问题,我应该使用python可执行文件的完整路径。通过导航到目录,然后调用python是行不通的! }可能即使你导航到python可执行文件的文件夹,你也是在调用路径变量中添加的默认python。
因此,当我使用这一行时,它运行python,这个python识别虚拟环境中存在的包。
/home/mmoradi2/.local/share/virtualenvs/myproject-d4CrnaVY/bin/python3