我的项目结构如下:
MyPackage
|
├──mypackage
| |
| ├── __init__.py
| |
| ├── config.py
| |
| ├── data_clean
| | ├── __init__.py
| | └── f1.py
| |
| ├── data_transform
| | ├── __init__.py
| | └── g1.py
| |
| └── stat_calc
| ├── __init__.py
| ├── s1.py
| └── command_line_interface.py # <- users will use this from cmd.exe
|
├── README.txt
|
└── setup.py
我需要能够python path/to/command_line_interface.py arg1
但是当我这样做时,我得到ImportError: No module named 'stat_calc'
。在command_line_interface.py
内部,我尝试过两者:
import sys
sys.path.append('path/to/MyPackage')
还有:
import sys
sys.path.append('path/to/MyPackage/mypackage')
还有:
import sys
sys.path.append('path/to/MyPackage/mypackage/data_clean')
sys.path.append('path/to/MyPackage/mypackage/data_transform')
sys.path.append('path/to/MyPackage/mypackage/stat_calc')
但它们都没有奏效。当我在我的Pycharm编辑器中运行我的所有东西时,没有命令行,我的包stat_calc
和data_clean
使用import mypackage.data_clean.f1
语法相互导入,这似乎工作正常,但从命令行不起作用。我不确定在尝试设置命令行访问时我做错了什么。我的所有 init .py文件都是空的。