我正在创建一个计划放在Github上的工具。这是非常笼统的,但是我还想包括一些用法示例。因此,我设置了以下文件夹结构。
此工具适用于python 3。
repository/
commonTool.py
commonTool2.py
specificUsage/
runTheSpecificUsage.py
helpRunTheSpecificUsage.py
现在specificUsage/
文件夹中的两个脚本都将在commonTool.py和commonTool2.py中导入方法。
我的问题是理想情况下用户可以使用
python repository/specificUsage/runTheSpecificUsage.py
但是我无法使它正常工作。它永远无法导入其上方文件夹中的功能。我曾尝试过各种有关如何从超级文件夹导入文件的各种文章,但运气不佳。
我应该如何设置这些文件夹?我应该有一个init。py还是两个?在哪里?
您可以与setup.py
和commonTool.py
一起在顶层创建commonTool2.py
。在setup.py中,放入以下行:
import setuptools
setuptools.setup(packages=setuptools.find_packages())
然后将__init__.py
和specificUsage/
置于相同的级别。您应该可以像这样从specificUsage
导入:
import commonTool
[您可能还想考虑Python对模块和包具有强大的命名约定,并且通常对驼峰式皱眉。如果愿意,可以阅读更多here。