作为一名初学程序员(我更喜欢编写脚本),我正在努力应对不断增长的脚本和模块。
目前,小脚本位于添加到我的pythonpath的常规文件夹中。特定项目获得自己的子文件夹,但我越来越多地尝试将这些项目的一般部分编写为可供其他项目使用的模块。但我不能只导入它们,除非这个子文件夹也在我的pythonpath中。
我不知道如何组织这一切。我很乐意得到关于组织(python)代码的提示和建议。谢谢!
答案 0 :(得分:2)
如果每个人都可以使用通用自定义模块,则应转到~/.local/lib/pythonX.Y/site-packages
或/usr/local/lib/pythonX.Y/site-packages
。这两个路径都会自动在$PYTHONPATH
中提供。 (前者自Python 2.6起可用 - 请参阅PEP 370 – Per user site-packages directory。)
答案 1 :(得分:2)
请务必阅读Packages,特别是关于在要导入的目录中创建名为__init__.py
的文件的部分。
我的主目录中有一个名为MyCompany
的git存储库。有/usr/local/lib/python2.7/site-packages/
到它的链接。 MyCompany
内package1
,package2
,package3
等。在我的代码中,我写了import MyCompany.package1.modulefoo
。 Python查找site-packages
并查找MyCompany
。然后它找到package1
子目录,其中包含__init__.py
文件 - yay,一个包!然后它导入该目录中的modulefoo.py
文件,然后我就关闭并运行。