是否安装了Python模块?

时间:2010-08-25 05:58:42

标签: php python

如何检查我的Python模块是否已成功安装。

我做了:

python setup.py install

在我下载模块的文件夹中。

现在,我可以看到这导致此位置内的文件夹:

/usr/lib/python2.4/site-packages (I can see my module folder is inside here)

现在我使用PHP从这个模块执行脚本:

exec("/usr/bin/python /usr/lib/python2.4/site-packages/MyModule/myModule script.py -v pixfx.xml 2>&1", $output, $return);

这会运行script.py文件,但不会加载此脚本所需的模块。 这个脚本的代码如下:

#! /usr/bin/env python 
import sys 
import os 
import getopt 
import re 
from myModule.ttLib import TTFont // this is line60 as I have removed comments

我收到此错误:

Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/MyModule/myModule/script.py", line 60, in ? from myModule.ttLib import TTFont ImportError: No module named myModule.ttLib

这是否意味着我的模块安装方式可能存在问题。 要么 如何检查模块是否安装正确....

我也尝试在SSH终端中执行此操作:

help('modules')

这列出了一大堆模块,但我的模块名称丢失了。

任何帮助?

******编辑{已解决} ****** 重新安装模块解决了它。 有趣的是,我使用Mediatemple提供的在线SSH工具,它没有正确安装模块。 后来当我从我的Mac电脑安装终端时,一切正常。

我想我会为其他可能遇到类似问题的人添加此内容。

由于

5 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作检查您正在调用的Python解释器是否看到了您的模块:

/usr/bin/python -c "import MyModule"

此命令应该只导入MyModule/__init__.py,而不是抱怨找不到MyModule。

由于代码中有许多模块,您实际上想要创建,而不是模块。

为此,您只需在MyModule /及其所有子包中添加一个空的__init__.py文件,以表明您有一个包(即包含许多模块的文件夹)。

如果你的ttLib在MyModule / myModule / ttLib /中,你可以这样做并在MyModule /和MyModule / myModule /中添加一个空的__init__.py文件,以便声明MyModule和MyModule / myModule是包;你可以简单地做:

from MyModule.myModule.ttLib import …

希望这有帮助!可以找到包的完整文档on the official site

答案 1 :(得分:0)

我不是Python的专家,但调试它的一种方法是启动python提示符,然后执行import myModule一些使用该模块构造的简单命令。如果这样可行,则模块安装不是问题。如果没有安装你的模块。

答案 2 :(得分:0)

您应该看到的不仅仅是目录创建/usr/lib/python2.4/site-packages

答案 3 :(得分:0)

您是否告诉python在/usr/lib/python2.4/site-packages/MyModule/下查找您的模块? (你需要在/usr/lib/python2.4/site-packages/中放一个* .pth文件,或者你不应该将它们放在一个额外的目录中。)

在python shell中尝试以下内容:

>>> import sys
>>> sys.path

那是什么印刷品?它是否包含'/usr/lib/python2.4/site-packages/MyModule'

答案 4 :(得分:0)

我重新安装了模块,一切正常。 似乎模块安装不正确。