我试图运行" python setup.py install"但面临导入错误,即导入错误:没有名为xlrd的模块 此模块xlrd模块导入" master_to_json"脚本仍然在安装函数中的安装需要放置xlrd。 master_to_json.py包含
import xlrd
..
def main():
....
....
if __name__ == '__main__':
main()
setup.py包含:
import os
import sys
import subprocess
from distutils.dir_util import mkpath
from setuptools import setup, find_packages
from dictionary_tools.tools.dictionary import master_to_json
from dictionary_tools.tools.dictionary import common
setup(
name=common.PROGRAM,
version=common.VERSION,
packages=find_packages(),
entry_points={
'console_scripts': [
master_to_json.__program__ + ' = dictionary_tools.tools.dictionary.master_to_json:main',
]
},
install_requires=["xlrd >= 0.9.2", "xlwt >= 0.7.5"],
long_description=open('README.txt').read()
)
以
执行时$ python setup.py install
答案 0 :(得分:0)
问题是,您尝试更快地导入master_to_json
,然后执行您的setup()。
import os
import sys
import subprocess
from distutils.dir_util import mkpath
from setuptools import setup, find_packages
from dictionary_tools.tools.dictionary import master_to_json # <- here is the problem
from dictionary_tools.tools.dictionary import common
您的堆栈跟踪很可能会在更深层次的通话中报告此情况。
一般建议:不要在setup.py
中导入任何不需要运行setup()
的内容,这必须在安装完成后运行的脚本中完成。
我的猜测是,您应该通过删除对尚未安装的软件包的依赖来简化您的setup.py(未测试)。