我有一个名为'my_package'的python包。结构如下
my_package
my_package
__init__.py
__main__.py
my_package.py
some_other_file.py
run_script
setup.py
'run_script'只是一个shell脚本,它使用脚本中指定的虚拟环境将包调用为模块,大致如下:
#!/bin/bash
/path/to/myenv/bin/python -m my_package
'my_package'显然已预先安装到myenv中。
问题在于: 调用脚本时,尽管指定了'-m'标志,但python仍然调用'my_package.py'而不是从环境中导入'my_package'。
有没有办法覆盖这个?以某种方式使python不使用my_package.py文件?
我的解决方案是重命名my_package.py文件。但我希望能找到更好的东西。