我正在处理一个预先存在的项目,并且想通过扩展PYTHONPATH
找到一个新的模块。我将~/code/serenity/api/serenity-api/serenity/python/src
添加到了PYTHONPATH
的环境变量中,当我打印出sys.path
时,在返回列表中看到了路径。但是当我尝试导入文件时
from rbac.rbac import Rbac
我没有找到模块。
文件的完整路径为
~/code/serenity/api/serenity-api/serenity/python/src/rbac/rbac.py
这很重要,它是在虚拟环境中运行的Python 2.7。
答案 0 :(得分:0)
您不必为了扩展路径而使它复杂化。实际上这样做是很冒险的。如果您知道模块的位置,只需将模块目录复制到源代码所在的目录,然后就可以像上面的代码中一样访问它。
答案 1 :(得分:0)
变量PYTHONPATH仅在您首先执行的进程中保留,而在执行python from rbac.rbac import Rbac
时在进程中不存在。
您可以执行以下操作: 编写shell脚本
export PYTHONPATH=$HOME/code/serenity/api/serenity-api/serenity/python/src/
python -c "from rbac.rbac import Rbac"
并运行它 -或者编写python脚本
import sys
sys.path.append("~/code/serenity/api/serenity-api/serenity/python/src/")
from rbac.rbac import Rbac
并运行