我正在通过子过程调用在python进程(在docker容器中运行)内的python进程中安装软件包,并将其添加到自定义目录/tmp/custom_libs
中,该目录已添加到$PYTHONPATH
:
subprocess.check_call(["python", "-m", "pip", "install", "--target=/tmp/custom_libs","--no-cache-dir", "my_package-0.1.tar.gz"]
此操作成功完成。但是,安装完成后,我无法导入模块。即:
import my_package
失败:
ImportError: No module named 'my_package'
(我已验证sys.path
确实包含/tmp/custom_libs
,并且这些模块确实位于该目录中)。
奇怪的是,当我打开一个不同的python会话时,它可以导入my_package
,并且一切正常。因此,我唯一的猜测是有些陈旧,因为安装是在同一python会话中进行的,但是我无法弄清楚这是什么以及如何刷新事物。有什么想法吗?
p.s .:如果有帮助,我正在使用python3.5。