1

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

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

这里有一些思考过程来说明:

安装模块的用户拥有所有源代码,"/otheruser/code/pyfits"因此我尝试在其中添加该文件夹或任何带有pyfitsinit 文件(我有权访问)的文件夹,但没有成功。

所以我的主要问题是:

我应该在别处寻找该模块吗?我应该以 --myuser 身份再次安装这些模块吗?还是我应该弄乱网站包?如果是这样,是否会在那里添加模块?

4

1 回答 1

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的字符串处理问题以某种方式搞砸了你的路径(比如在使用包含反斜杠的Windows路径时不使用原始模式并且没有充分转义反斜杠。)

  5. 在您的导入发生之前覆盖您的 sys.path 的东西。

  6. 一个错字。

于 2013-08-24T01:51:49.720 回答