我写了一个小蟒蛇program,我又在努力建立一个好的结构。
几天前,我读了一个blog和许多其他网站,建议反对from a import b
导入,并建议使用始终import a.b
“项目绝对”路径(从项目根目录到我要导入的内容)导入。那是一个背景。
我添加了__main__.py
,以便我可以使用python -m <directory>
运行我的程序,这是在数百个python导入问题之一的stackoverflow上的某人的另一个建议。它应该有助于使用相同的导入结构保持代码可运行和可测试,这在我的另一个项目中是一个问题。
现在我想要的是,在我的系统中的任何地方,我都可以运行python -m <dir of my code>
,而不仅是RSTCitations
目录中的一个目录。
如果没有:
,我怎样才能实现这一目标我想坚持组织我的代码的最佳实践,但仍然希望它可以从我在终端的任何地方运行。
当我从另一个与我的程序完全无关的目录中描述的程序运行时,我得到以下错误:
/home/user/development/anaconda3/bin/python: No module named /home/user/development/rst-citations-to-raw-latex/RSTCitations
但路径是正确的。这正是代码的所在。
答案 0 :(得分:0)
你可以:
如果您不需要其他用户“导入”您的库但只是将其用作独立程序,您也可以将一个符号链接/脚本放到您的程序中,使其可以从您PATH中的目录运行