我有一个具有以下层次结构的包
my_package/__init__.py
script_a.py
scripts_dir/__init__.py
script_b.py
my_package/__init__.py
module_a.py
module_b.py
模块\u a和模块\u b包含我在脚本\u a和脚本\u b中使用的函数和类定义(它们是独立的脚本,包含一个main)
当我从脚本中的模块\u a.py导入一些东西时,一切都很好。你知道吗
我的问题是
我不确定是否应该使用相对导入,或者是否将我的\u包添加到系统路径然后使用类似
from my_package.module_a import the_funky_func
我想避免用-m
参数调用解释器
更新
从目前为止我在中找到的答案来看,我得出结论,我有3个选择
编写一个安装程序,将包包含到我的PYTHONPATH中,以便所有脚本无论在何处都可以调用模块
调用解释器时使用-m
参数
做一些系统路径黑客
还有其他我不知道的选择吗?你知道吗
您可以使用下面两行将
myproject
path追加到sys path。它可以避免相对导入和命令行中的-m
在
myproject
文件script_a.py
中,如果导入module_a.py
,则相关问题 更多 >
编程相关推荐