首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导入xlrd模块

无法导入xlrd模块
EN

Stack Overflow用户
提问于 2011-03-04 13:25:14
回答 4查看 25.2K关注 0票数 3

我的可执行脚本使用的包很少依赖于xlrd模块。因此,我尝试使用include选项将此模块包含在安装脚本中,如下所示。但是,当runnery.py调用包模块时,模块无法导入xlrd,尽管xlrd文件存在于library.zip文件中。

代码语言:javascript
复制
from cx_Freeze import setup, Executable
import xlrd

buildOptions = dict(
                compressed = True,
                optimize=2,
                path=sys.path+[".\\uitls", “.\\supported”],
include_files=[“Doc"],
                includes=[“xlrd”, "win32com"],
                packages=["utils", ”supported"],
                append_script_to_exe=True,
                copy_dependent_files=True,
                 )
setup(
                name = "TestExecutable",
                version = "0.1",
                options = dict(build_exe = buildOptions),
                          executables = [Executable(
                                         script=r".\\codebase\\ runner.py",
                                         icon=".\\icon.ico",
                                         base="Win32GUI")]
                ) 

然而,如果我尝试在runner.py中导入xlrd,它就能够导入它。我不确定在这种情况下出了什么问题,因为依赖包不能导入xlrd。有没有什么选择是我错过的或者我做错了什么?

更新:我发现依赖包是通过产生一个进程来调用的,所以它创建了一个新环境,该环境中没有加载xlrd模块,也不知道包含它的library.zip。那么,有没有可能让xlrd模块从zip文件中对包可用,即使它是通过启动新进程运行的?致以敬意,

EN

回答 4

Stack Overflow用户

发布于 2011-03-04 13:42:29

下载xlrd包时,您有两个选择:

  1. 在Python路径中包含xlrd-0.7.1\xlrd\
  2. Install it Python

一旦你完成了(任一)。验证您是否可以导入它。打开python,只需输入import xlrd。如果您看不到错误,则说明它已成功安装。

票数 3
EN

Stack Overflow用户

发布于 2011-03-05 17:15:16

也许path=sys.path+[".\\uitls", “.\\supported”],中的uitls应该是utils

xlrd到底安装在哪里?

xlrd是一个包,而不是一个模块;您有没有试过把它放在包列表中而不是放在包含列表中?

始终如一地使用原始字符串。

为什么在script=r".\\codebase\\ runner.py",中有两倍的反斜杠?Windows似乎将多个反斜杠视为一个,但为什么要冒险呢?为什么在runner.py前面有一个空格?您确定此安装文件真的在运行吗?

票数 2
EN

Stack Overflow用户

发布于 2011-03-16 13:18:04

我找到了解决这个问题的方法,我从lib\site-packages文件夹中复制了xlrd文件夹,并将其包含在include_files选项下。现在,当我的子进程可执行文件运行时,设置了路径,因此它知道xlrd的位置,并且可执行文件能够导入xlrd。

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

https://stackoverflow.com/questions/5190025

复制
相关文章

相似问题

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