Python从不同项目导入包

Chr*_*G29 6 python

我正在尝试从不同的项目导入包,但它无法识别我尝试从中导入的项目。我已经查看了这个问题的各种答案(包括python: import another project module named same with a local module)。

我的项目结构如下所示:

Project1
 - __init__.py
 - foo_directory
  - foo.py
  - __init__.py


Project2
 - __init__.py
 -bar_directory
  - bar.py
  - __init__.py
Run Code Online (Sandbox Code Playgroud)

在 bar.py 中我试图这样做:

import sys
sys.path.append('path/to/Project2')

from Project1.foo_directory import foo.py
Run Code Online (Sandbox Code Playgroud)

我不明白为什么当我尝试导入时它无法识别 Project1?

Mar*_*esh 0

2 解决方案:

1-使用 PYTHONPATH 环境变量。请参阅此答案以了解更多详细信息

$ export PYTHONPATH=$(PYTHONPATH):/path/to/project1 
Run Code Online (Sandbox Code Playgroud)

2 - 为您的项目创建一个 setup.py 以便您可以安装它们,然后导入它们>

https://docs.python.org/3/distutils/setupscript.html

注意:从应用程序内部弄乱 sys.path 不是推荐的解决方案,因为它不是真正强大且不跨平台。