使用其他用户安装的模块

时间:2013-08-24 01:04:52

标签: python python-2.7 python-import settings

我在远程计算机上运行这个python脚本并要求pyfits,它在技术上安装在机器上,但是python找不到它。

我已经尝试通过sys.path.append('folder')方法将其安装的假定目录添加到我的路径中(我也可以访问该文件夹)。但它仍然没有找到它。

以下是一些思考过程:

安装模块的用户拥有"/otheruser/code/pyfits"的所有源代码,所以我尝试添加该文件夹或任何带有pyfits的文件夹和一个init文件(我有权访问),没有成功。

所以我的主要问题是:

我应该在其他地方寻找模块吗? 我应该再次安装模块--myuser吗?或者我应该搞乱网站包?如果有,那么在那里添加模块?

1 个答案:

答案 0 :(得分:0)

根据PyFITS文档,看起来实际模块安装在顶级PyFITS安装目录下的lib/python或可能lib/python<version>/site-packages中(取决于它们用于安装的标志)。所以,通常你想做这样的事情:

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. 一个错字。