[英]Why can't my setup.py-generated script find my also-installed module?
編輯:確切的代碼在GitHub上的https://github.com/edbrannin/mkdocs/tree/windows-runnable上,並且在Linux上也失敗。
我試圖通過使用setup()
的entry_points
參數使mkdocs的腳本安裝跨平台:
entry_points={ 'console_scripts': [ 'mkdocs = mkdocs.mkdocs:main_entry_point', ], },
python setup.py install
的輸出在這里。
運行python setup.py install
會生成c:\\Python27\\lib\\site-packages\\mkdocs
並且該文件位於c:\\Python27\\Scripts\\mkdocs-script.py
:
#!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
...但是顯然在那里:
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
>>>
知道我在做什么錯嗎?
您的腳本位置確實不存在。 您的setup.py指定mkdocs.mkdocs。 main_entry_point,但這是不可導入的。 您可以在python shell中檢查此內容:
>>> from mkdocs.mkdocs import main_entry_point
這將導致導入錯誤。 發生這種情況是由於文件命名錯誤引起的:如果將mkdocs / mkdocs重命名為mkdocs / mkdocs.py,則應該看到一切開始正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.