如何检查我的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电脑安装终端时,一切正常。
我想我会为其他可能遇到类似问题的人添加此内容。
由于
答案 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)
我重新安装了模块,一切正常。 似乎模块安装不正确。