Не удается импортировать модуль Python даже после sys.path.append
Работа на кластере с CENTOS и Python 2.6.6
Попытка добавить модули в функцию Python
Функция some_func.py выглядит так:
#!/usr/bin/env python
from __future__ import division
import sys
sys.path.append('/Users/username/modules')
import some_module as sm
В /Users/username/modules у меня есть два файла:__init__.py и some_module.py
Он работает, когда я делаю это на моем Mac, но не работает, когда я запускаю его на машине CENOS.
Я получаю ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named some_module
Есть идеи, что может происходить?
1 ответ
Добавление /Users/username/modules
на ваш путь, а затем пытается импортировать some_module
означает, что Python на самом деле ищет каталог с именем /Users/username/modules/some_module
, который будет содержать (как минимум) файл с именем __init__.py
,
Я не знаю, почему это сработало на вашем компьютере Mac. Возможно, у вас есть еще одна копия some_module
валяется в другом месте и находит эту копию?
Попробуйте это на своем Mac:
import some_module
print (some_module.__file__)
И посмотрите, что он сообщает в качестве полного пути.