2013-08-24 3 views
1

Я запускаю этот скрипт python на удаленном компьютере и запрашивает pyfits, который технически устанавливается на компьютере, но python его не находит.Используйте модуль, установленный другим пользователем

Я уже пытался добавить предполагаемый каталог, на который он был установлен, на мои пути (у меня также есть доступ к папке) методом sys.path.append('folder'). Но он все еще не находит его.

Вот некоторые мыслительный процесс, чтобы проиллюстрировать:

Пользователь, который установил модули имеет все источник в "/otheruser/code/pyfits" поэтому я попытался добавить эту папку или любую папку с pyfits и файл инициализации (что у меня есть доступ к) в нем, без успеха.

Так что мои основные вопросы:

Должен ли я искать в другом месте для модуля? Должен ли я установить модули снова как -myuser? или я должен возиться с пакетами сайтов? Если это так, добавьте модуль там?

+0

Можете ли вы опубликовать образец своего кода, чтобы изменить sys.path и попытаться загрузить модуль, включая пути, которые вы используете? Я могу придумать ряд возможностей относительно того, что может пойти не так, но это может изменить некоторые из них. –

ответ

0

Согласно документации PyFITS, по-видимому, фактические модули установлены в lib/python или, возможно, lib/python<version>/site-packages (в зависимости от флагов, которые они использовали для установки) в каталоге установки PyFITS верхнего уровня. Таким образом, как правило, вы хотите сделать что-то вроде этого:

sys.path.append(r'/otheruser/code/pyfits/lib/python') 

# Might be sys.path.append(r'/otheruser/code/pyfits/lib/python2.7/site-packages') 
# or something similar 

import numpy 
import pyfits 

Если вы можете прочитать содержимое каталога, приложенные и его подкаталоги, вы должны быть хорошо идти.

Однако, как я уже упоминал в своем комментарии к исходному вопросу, вы можете отредактировать свой вопрос, чтобы включить фактический код, который вы используете для этого, поскольку любая проблема может быть проще угадать таким образом.

Источники сложности могут быть:

  1. Добавление каталога в вашем sys.path, что не указывает на фактических модулей.

  2. Отсутствие файла __init__.py в каталоге модуля.

  3. Не имеет разрешений для просмотра содержимого папок или чтения прилагаемых файлов.

  4. Проблемы с обработкой строк в Python завинчивания свой путь как-нибудь (например, не используя режим сырой и не должным образом избежать обратной косой черты при использовании окна пути, содержащие символы обратной косой черты.)

  5. Что-то переписав sys.path прежде, чем произойдет ваш импорт.

  6. Опечатка.

Смежные вопросы