【问题标题】:Why calling the python executable (in a virtual environment created by pipevn) does not activate the virtual environment?为什么调用 python 可执行文件(在 pipevn 创建的虚拟环境中)不会激活虚拟环境?
【发布时间】:2020-09-29 22:12:57
【问题描述】:

我正在尝试在另一个脚本中运行 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 executable pipenv virtual-environment


    【解决方案1】:

    我发现了问题。 我应该使用 python 可执行文件的完整路径。导航到目录然后调用 python 不起作用! } 也许即使你导航到 python 可执行文件的文件夹,你仍然在调用添加到路径变量的默认 python。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 2013-09-05
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      相关资源
      最近更新 更多