首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的setup.py生成脚本找不到我的已安装模块?

为什么我的setup.py生成脚本找不到我的已安装模块?
EN

Stack Overflow用户
提问于 2014-06-05 18:16:28
回答 1查看 429关注 0票数 1

编辑:--确切的代码在https://github.com/edbrannin/mkdocs/tree/windows-runnable的GitHub上,在Linux上也失败。

我试图通过使用mkdocs参数来安装entry_points跨平台脚本

代码语言:javascript
运行
复制
 `entry_points={         'console_scripts': [             'mkdocs = mkdocs.mkdocs:main_entry_point',             ],         },` 

就在这里。

运行python setup.py install将生成c:\Python27\lib\site-packages\mkdocs并在c:\Python27\Scripts\mkdocs-script.py中生成此文件

代码语言:javascript
运行
复制
#!C:\Python27\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'mkdocs==0.9','console_scripts','mkdocs'
__requires__ = 'mkdocs==0.9'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('mkdocs==0.9', 'console_scripts', 'mkdocs')()
    )

当我尝试运行mkdocs时,它说它找不到模块:

C:\>mkdocs Traceback (most recent call last): File "C:\Python27\Scripts\mkdocs-script.py", line 9, in <module> load_entry_point('mkdocs==0.9', 'console_scripts', 'mkdocs')() File "C:\Python27\lib\site-packages\distribute-0.6.34-py2.7.egg\pkg_resources.py", line 343, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "C:\Python27\lib\site-packages\distribute-0.6.34-py2.7.egg\pkg_resources.py", line 2307, in load_entry_point return ep.load() File "C:\Python27\lib\site-packages\distribute-0.6.34-py2.7.egg\pkg_resources.py", line 2013, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) ImportError: No module named mkdocs

...but --很明显--在那里:

代码语言:javascript
运行
复制
C:\>python
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mkdocs
>>> 

知道我做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 23:30:17

您的脚本位置确实不存在。您的setup.py指定mkdocs.mkdocs。main_entry_point,但这并不重要。您可以在python shell中检查此代码:

代码语言:javascript
运行
复制
>>> from mkdocs.mkdocs import main_entry_point

这将导致导入错误。发生这种情况是因为文件命名错误:如果将mkdocs/mkdocs重命名为mkdocs/mkdocs.py,您应该会看到事情开始工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24067318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档