Я пытаюсь импортировать модуль компании в свое программное обеспечение, и я получаю ошибку:
ImportError: No module named config
от
from pylons.config import config
Очевидно, что импортируемый им модуль требует pylons.config, но не может найти его в моей виртуальной среде.
Если я иду в терминал и пробую некоторые скрипты Python, я могу найти файл конфигурации, если я пытаюсь:
from pylons import config
но произойдет ошибка, если я попытаюсь:
import pylons.config
Почему это?
И кто-нибудь знает, как и где я могу получить:
from pylons.config import config
на работу. Учитывая, что я не могу изменить код для этого модуля, только мой, который импортирует его или мои собственные системные файлы.
UPDATE
Если у кого-либо, обнаружившего эту страницу, возникает подобная проблема, вы можете обнаружить, что пытаетесь запустить два модуля с разными версиями Pylons.
Например, вы создаете приложение для входа в систему с именем myApp . У вас есть несколько модулей Python, которые помогают с обработкой входа в систему pyLogin .
Сначала вы устанавливаете pyLogin с python setup.py install . Это добавляет библиотеки в пакеты вашего сайта и обновляет все библиотеки, от которых зависит, например, SqlAlchemy.
Затем вы устанавливаете myApp таким же образом, который снова обновляет библиотеки и зависимости.
Эта проблема возникает, если pyLogin и myApp используют разные версии Pylons. Если pyLogin использует Pylons 0.9.6, а myApp использует Pylons 1.0, например, то код pyLogin будет вызываться из myApp но он будет работать в неправильной структуре Pylons и, следовательно, потребует EITH из конфигурации импорта pylons или из конфигурации импорта pylons.config , но будет работать только с одним из них. Если он использует неправильный вызов для Pylons, вы увидите это сообщение об ошибке.
Таким образом, единственное решение этой ошибки - либо найти более ранние или более поздние библиотеки, которые используют ту же версию Pylons, что и ваше приложение, либо преобразовать ваше приложение в ту же версию Pylons, что и библиотеки, которые вы используете.