Проблема импорта Python в режиме командной строки - PullRequest
4 голосов
/ 20 сентября 2011

В моей среде IDE (Aptana Studio) прекрасно работает следующая структура кода:

/ProjectName/
    /lib
    /src
        /Module1
        /Module2
        /Module3
         __init__.py
         pyClass.py         ##Python Class
        /main
         main.py

main.py:

import Module3.pyClass as pc

myClass=pc.pyClass()

, но при попытке запустить его изкомандная строка, ошибка импорта!

importError: No module named Module3.pyClass

Я работаю из каталога / main.Это потому, что он не знает, где найти Module3 для импорта? Как мне сказать, где он должен искать Module3?

Спасибо.

1 Ответ

10 голосов
/ 20 сентября 2011

Каталог src не находится в пути поиска модуля python, если вы запускаете его из каталога main. Вам нужно будет либо запустить скрипт из каталога src (скрипт-обертка, либо переместить его), либо добавить каталог src в sys.path. Это, вероятно, то, что вы хотите. Вот как:

import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

(Если вы компилируете / замораживаете его с помощью py2exe / py2app / cxfreeze / что угодно, вам понадобится немного другое решение в связи с тем, как оно работает.)

...