у меня есть простой проект Python с эффективно один пакет (так называемый forcelib
), содержащих один модуль (также называемый forcelib
):Мой пакет установлен с пип не устанавливать показывает никаких модулей
- setup.py
- forcelib
|- __init__.py
|- forcelib.py
Мой setup.py
копируется из official example и имеет очевидные изменения.
Проблема заключается в том, что я могу установить пакет forcelib
, используя pip
, но когда я импортирую forcelib
, он имеет только атрибуты «двойного подчеркивания». То есть, я не вижу модуль forcelib
.
Пример для репликации:
git clone https://github.com/blokeley/forcelib
cd forcelib
pip install -e .
python
import forcelib
print(forcelib.__version__)
# Правильно печатает 0.1.2dir(forcelib)
# Единственное содержимое:__version__
,__path__
и т. Д. Атрибуты двойного подчеркивания. Я ожидал увидетьforcelib
, и т.д.
Может быть, я должен distribute just the module, а не возиться с пакетом.
(очень маленький) project is on GitHub.
Любой совет будет очень благодарен.
Где вы ищете модули/содержимое упаковки? – jwodder
'импорт forcelib; DIR (forcelib) '. Там ничего нет, кроме атрибутов double-underscore – blokeley
путем импорта 'forcelib', который вы импортируете forcelib' __init__'. попробуйте 'from forcelib import forcelib; DIR (forcelib) '. –