2017-03-13 19 views
0

我有一個Python包具有以下格式,其中my_package.py只包含一個類myclass安裝單類包:使用PIP沒有module.pyfile進口

$ . 
|-- my_package/ 
    |-- __init__.py 
    |-- my_package.py 
|-- LICENSE.in 
|-- README.rst 
|-- setup.py 

我上傳這點子和我能夠安裝/進口什麼,我需要

> pip install my_package 
python> from my_package.my_package import myclass 

是否有這樣做的一種方式,所以我沒有打電話給my_package.my_package,可能只需要調用

from my_package import myclass 

我嘗試了以下結構

$ . 
|-- __init__.py 
|-- my_package.py 
|-- LICENSE.in 
|-- README.rst 
|-- setup.py 

我成功上傳/通過PIP安裝,但是當我輸入

> import my_package 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named my_package 

回答

1

時,遇到下列錯誤,您應該myclass定義移動到my_package/__init__.py

+0

是標準還是黑客? – Sal

+0

這是標準。很多'真正的'圖書館都是這樣做的。該文件存在的原因。例如,將要從同一個包中的多個文件導入的內容放在那裏,以避免循環依賴。 –

+0

我已經這樣做了,以避免循環進口,但不知道這一點,謝謝! – Sal

相關問題