Я створив власну Модулі Python.
Структура каталогу:
main_dir
|--- __init__.py
|--- test
|--- __init__.py
|--- test1.py
|--- lib
|--- __init__.py
|--- lib1.py
Я імпортував lib1.py всередині test1.py використовуючи це
from lib.lib1 import Lib
і запуску test1.py використовуючи це
python -m test/test1
Це працює в Ubuntu і я в змозі запустити мій пітон (test1.py) сценарій успішно при цьому маючи проблема в MAC OS X. Це кидає
/usr/bin/python: No module named test/test1
Будь-які пропозиції?
Відповіді:
0 для відповіді № 1Коли імпортується будь-який модуль, інтерпретатор спочатку шукає вбудований модуль з таким ім'ям. Якщо його не знайти, то він шукає файл з іменем spam.py у списку каталогів, що задається змінною sys.path
. Документи
Можна або встановити main_dir
до sys.path
або додати шлях програмно перед імпортом модуля.
import os
import sys
yourpath = os.path.dirname(os.path.abspath(__file__)) #current filepath
parentpath = os.path.abspath(os.path.join(yourpath, os.pardir))
sys.path.append(parentpath)
from lib.lib1 import Lib