Python项目结构,导入问题

Python项目结构,导入问题,python,python-3.x,Python,Python 3.x,到目前为止,我的项目结构: Project/ |-- crypto/ | |-- one.py | | two.py |-- utils/ | |-- util1.py | | util2.py .... 在这些文件中,我一直在这样导入: # within one.py from utils.util1 import xy from lib.utils.util1 import xy 现在我想构建一个使用大多数python脚本的Web服务,我想将它们移动到一个单独的

到目前为止,我的项目结构:

Project/
|-- crypto/
|   |-- one.py
|   |   two.py
|-- utils/
|   |-- util1.py
|   |   util2.py
....
在这些文件中,我一直在这样导入:

# within one.py
from utils.util1 import xy
from lib.utils.util1 import xy
现在我想构建一个使用大多数python脚本的Web服务,我想将它们移动到一个单独的文件夹中:

Project/
|-- service.py
|-- lib/
|    |-- crypto/
|    |   |-- one.py
|    |   |   two.py
|    |-- utils/
|    |   |-- util1.py
|    |   |   util2.py
|    ....
我的问题是,现在,我必须将每个文件中的所有导入语句修改为如下内容:

# within one.py
from utils.util1 import xy
from lib.utils.util1 import xy

有什么方法可以避免这种情况吗?

如果将
lib
文件夹添加到PYTHONPATH环境变量中,那么您的模块将在不更改源文件的情况下可用。 格式与shell的路径相同


更多信息:

如果将
lib
文件夹添加到PYTHONPATH环境变量中,则您的模块将在不更改源文件的情况下可用。 格式与shell的路径相同


更多信息:

但请注意,您必须在每个想要使用此功能的系统上执行此操作。因此,如果您在github上共享它或将它迁移到较新的系统,那么不要忘记这样做,并为其他人记录这一点。最好提供.sh或.cmd脚本来启动像这样的非平凡环境。但请记住,您必须在每个想使用它的系统上都这样做。所以,如果您在github上共享它或将它迁移到较新的系统,那么不要忘记这样做,并为其他人记录这一点。最好提供.sh或.cmd脚本来启动这样的非平凡环境。