__init__.py在当前工作目录中

时间:2014-12-06 03:19:54

标签: python-2.7

我有一个目录结构

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
log_dedupe_main.py

中的

from log_dedupe import parse_arguments

结果

ImportError: No module named log_dedupe

如果我添加了setup.py并安装了一个包,那么我就不会再收到此错误了。但是,如果我在 init .py中更改某些内容,则必须重新安装。

注意我还考虑在我的文件中从__init__导入,但我不确定这是不是一个好主意。

我浪费了一个小时的时间,我发现自己想知道是否有办法

  1. 覆盖当前工作目录以使用目录名而不是“
  2. 如果文件已被更改,则自动安装python包。

1 个答案:

答案 0 :(得分:1)

更改目录log_dedupe/并调用log_dedupe_main.py,如下所示:

python -m log_dedupe.log_dedupe_main`

或者更好的是,将log_dedupe_main.py重命名为__main__.py并按如下方式调用它:

python -m log_dedupe
相关问题