2014-12-06 114 views
0

我在log_dedupe_main.py__init__.py在当前工作目录

from log_dedupe import parse_arguments 

结果的目录结构

log_dedupe 
├── dedupe 
│   ├── __init__.py 
│   ├── __init__.pyc 
│   ├── sha_dedupe.py 
│   ├── sha_dedupe.pyc 
│   └── test_sha_dedupe.pyc 
├── globals.py 
├── globals.pyc 
├── __init__.py 
├── __init__.pyc 
├── log_dedupe_main.py 
├── log_dedupe_main.pyc 

ImportError: No module named log_dedupe 

如果我增加了一个setup.py和安装包比我不再有这个错误了。但如果我改变init .py中的内容,我就不得不重新安装了。

注意我也算在我的文件__init__进口,但我不知道这是否是一个好主意或没有。

已经只是浪费我的时间一个钟头,我发现自己想知道如果有要么

  1. 覆盖当前工作目录使用的目录名,而不是'
  2. 自动地安装一个python的方式如果文件已被更改,请打包。

回答

1

更改到目录log_dedupe/是和调用log_dedupe_main.py如下:

python -m log_dedupe.log_dedupe_main` 

或者更好的是,重命名log_dedupe_main.py__main__.py并按照以下方式调用它:

python -m log_dedupe