类模块必须位于工作目录中才能导入到python程序中。但是,我希望根据用途将我的各个主程序保存在不同的目录中,而不是将所有程序和所有类都塞进一个庞大的目录中。
我可以将哪些内容添加到脚本中以指向正确的模块目录?更好的是:我可以在像GitHub这样的repo上创建我的模块目录并从那里导入吗?
答案 0 :(得分:1)
Python模块需要位于Python的搜索路径中。这恰好包括工作目录。
有很多地方可以存储一个模块,可能最简单的是
/usr/local/lib/pythonx.y/site-packages
或
/usr/local/lib/pythonx.y/dist-packages
(系统中的任何一个)。
在那里你应该为你的东西创建一个目录,在该目录中创建一个空__init__.py
文件,然后将你的模块复制到其中:
sudo mkdir MyStuff
sudo touch MyStuff/__init__.py
sudo cp /home/me/my_module1.py MyStuff/
sudo cp /home/me/my_module2.py MyStuff/
然后在你的脚本中
from MyStuff import my_module1