Ошибка импорта модуля Python (отлично работает в linux, но не работает во FreeBSD) - PullRequest
0 голосов
/ 01 декабря 2011

У нас есть приложение, которое в настоящее время работает в системе Linux.Сейчас я пытаюсь перенести его на FreeBSD.Мы запускаем приложение, используя twistd

/usr/bin/twistd -y $TACFILE --rundir $RUNDIR --logfile=/dev/null --pidfile=$PIDFILE

Мой tacfile - это файл Python, который начинается с этих строк

#!/opt/python/bin/python

import os

from twisted.application import internet, service
from twisted.internet import reactor
from twisted.enterprise import adbapi
from twisted.plugin import getPlugins
from twisted.python import log

import labris.flyng.iflyng as iflyng
import labris.flyng.config as config
import labris.flyng.plugins as pplugins
import labris.flyng.protocols as flyng_protocols

Но я получаю сообщение об ошибке в этой строке:

import labris.flyng.iflyng as iflyng

Ошибка:

exceptions.ImportError: No module named labris.flyng.iflyng

Failed to load application: No module named labris.flyng.iflyng

Но, как вы понимаете, скрученный импорт не вызывает ошибку, в то время как импорт labris не выполняется.Это приложение работает без ошибок в Linux.

И если оно как-то связано с этим, /opt/python/bin/python является символической ссылкой, указывающей на /usr/local/bin/python2.6

.path /usr/local/lib/python2.6/site-packages Их разрешения правильные, и у каждого из них одинаковые разрешения.

Вывод ls /usr/local/lib/python2.6/site-packages/labris/flyng равен __init__.py config.py db iflyng.py parsers plugins protocols.py Так что я не думаю, что произошла ошибка с путем к модулю.Я не знаю, что может быть причиной этой ошибки.Любые подсказки, указатели приветствуются.

1 Ответ

0 голосов
/ 13 января 2012

Вы также можете попробовать импортировать модуль из простого скрипта Python, чтобы увидеть, установлен ли он в нужном месте

...