модуль python установлен и распознается, но не может импортировать его в мой код или интерпретатор python 2.7.1 в Ubuntu - PullRequest
2 голосов
/ 13 августа 2011

Я застрял, пытаясь запустить модуль Python C и запустить его.Я устанавливаю модуль deltaLDA из Здесь .Я следовал инструкциям, указанным в файле REAMDE.Как обычно, я написал:

sudo python setup.py install

Все прошло, как и ожидалось, я думаю, я получаю этот вывод:

    running build
    running build_ext
    building 'deltaLDA' extension
    C compiler: gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC

    creating build
    creating build/temp.linux-i686-2.7
    compile options: '-I/media/Hub/DropBox/Dropbox/Betazeta/Software/LDA/deltaLDA -I/usr/lib/pymodules/python2.7/numpy/core/include -I/usr/include/python2.7 -c'
    extra options: '-O3 -Wall'
    gcc: deltaLDA.c
    In file included from /usr/include/python2.7/Python.h:8:0,
                     from deltaLDA.c:22:
    /usr/include/python2.7/pyconfig.h:1155:0: warning: "_POSIX_C_SOURCE" redefined
    /usr/include/features.h:214:0: note: this is the location of the previous definition
    deltaLDA.c:686:1: warning: function declaration isn’t a prototype
    creating build/lib.linux-i686-2.7
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions build/temp.linux-i686-2.7/deltaLDA.o -o build/lib.linux-i686-2.7/deltaLDA.so
    running install_lib
    copying build/lib.linux-i686-2.7/deltaLDA.so -> /usr/local/lib/python2.7/dist-packages
    running install_egg_info
    Removing /usr/local/lib/python2.7/dist-packages/deltaLDA-0.1.1.egg-info
    Writing /usr/local/lib/python2.7/dist-packages/deltaLDA-0.1.1.egg-info

Но затем, когда я пытаюсь импортировать модуль deltaLDA, я получаю следующую ошибку:

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

Если я проверяю установленные модули с помощью справки ('modules') или команды pip freeze, я могу найти deltaLDA в обоих списках, но не могу импортировать его.Пожалуйста, любая помощь будет оценена.

Спасибо!

Обновления: Я также проверил sys.path и '/usr/local/lib/python2.7/dist-packages' на нем.Если я пытаюсь импортировать * из deltaLDA как from deltaLDA import *, я получаю ту же ошибку.На интерпретаторе также пытался dir(deltaLDA) получить ту же ошибку «No module name».Может быть, есть проблема с модулем deltaLDA?Кто-нибудь может попытаться установить его?

Исправлено

Я проверил разрешения файлов .so и egg-info для dist-пакетов.Они не были читаемыми, я не знаю почему.Я только что запустил файл sudo chmod 777 и теперь он работает!

1 Ответ

1 голос
/ 13 августа 2011

Первая попытка

>>> import deltaLDA

Если это сработает, просмотрите документы или посмотрите dir (deltaLDA), как говорит @arunkumar, если не публикуете свой sys.path, пожалуйста, укажите информацию об яйце

...