python代码组织

python代码组织,python,Python,作为一名初级程序员(我更喜欢编写脚本),我正在努力收集越来越多的脚本和模块 目前,小脚本位于添加到我的pythonpath的常规文件夹中。特定项目有自己的子文件夹,但我越来越多地尝试将这些项目的一般部分编写为可供其他项目使用的模块。但是我不能直接导入它们,除非这个子文件夹也在我的pythonpath中 我不知道如何组织这一切。我很乐意得到您关于组织(python)代码的提示和建议。谢谢 通用自定义模块应转到~/.local/lib/pythonX.Y/site packages,或/usr/lo

作为一名初级程序员(我更喜欢编写脚本),我正在努力收集越来越多的脚本和模块

目前,小脚本位于添加到我的pythonpath的常规文件夹中。特定项目有自己的子文件夹,但我越来越多地尝试将这些项目的一般部分编写为可供其他项目使用的模块。但是我不能直接导入它们,除非这个子文件夹也在我的pythonpath中


我不知道如何组织这一切。我很乐意得到您关于组织(python)代码的提示和建议。谢谢

通用自定义模块应转到
~/.local/lib/pythonX.Y/site packages
,或
/usr/local/lib/pythonX.Y/site packages
,如果每个人都可以使用。这两个路径在
$PYTHONPATH
中都自动可用。(前者从Python 2.6开始提供–请参阅。)

请务必阅读,特别是关于在要从中导入的目录中创建名为
\uuuu init\uuuu.py的文件的部分


我的主目录中有一个名为MyCompany的git存储库。有一个从
/usr/local/lib/python2.7/site packages/
到它的链接。MyCompany内部的
package1
package2
package3
等。在我的代码中,我编写了导入MyCompany.package1.ModuleFo
。Python查看
站点包
并找到
MyCompany
。然后它会找到
package1
子目录,其中包含一个
\uuuu init\uuuuu.py
文件-耶,一个包!然后它导入该目录中的
modulefo.py
文件,我就可以开始运行了。

谢谢你的回答。这些是linux路径,对吗?当我要安装一个新的python版本时,
../site包
中的模块没有被覆盖?是的,这些是linux路径。这些地方的模块不会被覆盖,因为核心Python在任何包含
local
的路径中都没有模块。除此之外,这两个路径是版本无关的(请注意这两个路径中的
X.Y
部分)。这不适用于所有Linux发行版,也不适用于FreeBSD(Python进入/usr/local)和一些OS X包管理器(它位于/opt中)。但是,关于站点包被单独保留的部分是正确的。您写道:有一个从/usr/local/lib/python2.7/site-packages/到它的链接。我在windows上工作。走捷径行吗?我不知道。如果没有,您可能可以直接从该文件夹工作,并制作一个漂亮的桌面快捷方式,以便轻松找到它。服务器上的安排略有不同,但如果您能在工作站上解决问题,您可以在时间到来时确定服务器部分。根据您的windows版本(从windows Vista开始),您也可以使用符号链接:谢谢大家的回答。您向我指出了
\uuuu init\uuuuy.py
的含义。这正是我所需要的:现在我将
\uuuu init\uuuuuy.py
添加到我要从中导入的工作文件夹的每个子文件夹中。我所有的代码都在我想要的地方,而且很容易导入。帮了大忙,谢谢!另外,您的脚本正在编程。:-)坚持下去,你会在不知不觉中回答问题。谢谢柯克。你说得对,事情会很快发生变化,特别是在所有这些专家的帮助下:——)