Python模块是安装还是未安装?

3 投票
5 回答
2812 浏览
提问于 2025-04-16 03:16

我该如何检查我的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

我对Python不是很精通,但有一种调试的方法是打开Python的命令行,然后输入 import myModule,接着试着运行一些简单的命令,看看能不能用到这个模块的功能。如果这样能正常工作,那说明你的模块安装没问题。如果不行,那就是这个模块没有安装好。

0

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

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 …

希望这能帮到你!有关包的完整文档可以在官方网站找到。

撰写回答