为什么是python设置.py安装的模块找不到已安装的资源?

2024-04-20 12:57:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经正确地将python模块安装到/usr/lib/python2.7/site-packages/mymod。 但是,当我试图用

python2 -m mymod

它只从/home/me/dev/mymod/mymod/dir运行,如果我从任何其他目录执行同样的操作,它就会失败。在

^{pr2}$

它具有所有可用的正确路径:

/usr/lib/python2.7/site-packages/line_profiler-1.0-py2.7-linux-x86_64.egg
/usr/lib/python2.7/site-packages/textblob-0.11.1-py2.7.egg
/usr/lib/python2.7/site-packages/nltk-3.2-py2.7.egg
/usr/lib/python2.7/site-packages/pyCNN-0.0.0-py2.7-linux-x86_64.egg
/usr/lib/python27.zip
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/gst-0.10
/usr/lib/python2.7/site-packages/gtk-2.0
/usr/lib/python2.7/site-packages/wx-3.0-gtk2

为什么它在/usr/lib/python2.7/site-packages里面找不到{}呢。我尝试在mymod.pymymod/data/icons/和{}使用不同的路径,但是没有任何帮助。在

$ file /usr/lib/python2.7/site-packages/mymod/data/icons/mymod.ico 
/usr/lib/python2.7/site-packages/mymod/data/icons/mymod.ico: MS Windows icon resource - 1 icon, 128x128

这个问题一直困扰着我所有的python项目,setup.py,我认为对于python模块应该如何运行,我显然有些误解。在


Tags: 模块py路径dataegglinuxlibpackages
1条回答
网友
1楼 · 发布于 2024-04-20 12:57:01

不知怎么的,我觉得你当地的推荐人把事情搞砸了。在

如果从另一个目录启动python -m module,则相对文件引用仍可能被解释为相对于您的工作目录,而不是相对于需要该文件的模块。在

请尝试按如下方式引用模块本地文件,看看它是否解决了问题:

from os import path
datadir = path.join(path.dirname(__file__), 'data')
icofile = path.join(datadir, 'icons', 'mymod.ico')

按提议in this answer.

相关问题 更多 >