首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用py2exe + exe + mssql制作exe

用py2exe + exe + mssql制作exe
EN

Stack Overflow用户
提问于 2011-03-15 19:18:33
回答 2查看 1.4K关注 0票数 3

我在使用py2exe制作可执行文件时遇到了问题。在我的项目中,我使用了带有mssql模块的sqlalchemy。我的setup.py脚本如下所示:

代码语言:javascript
复制
from distutils.core import setup
import py2exe


setup(
  windows=[{"script" : "pyrmsutil.py"}],
  options={"pyrmsutil" : {
    "includes": ["sqlalchemy.dialects.mssql", "sqlalchemy"],
    "packages": ["sqlalchemy.databases.mssql", "sqlalchemy.cresultproxy"]
}})

但是当我启动如下程序时: python.exe setup.py py2exe

我收到以下错误的构建日志:以下模块似乎缺少'_scproxy','pkg_resources','sqlalchemy.cprocessors','sqlalchemy.cresultproxy‘

在"dist“文件夹中,我看到了我的pyrmsutil.exe文件,但当我运行它时,什么也没有发生。我的意思是,可执行文件开始,但不做任何事情,并立即结束,没有任何pyrmsutil.exe.log。这很奇怪。

有人能帮我纠正这个错误吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-15 23:57:00

看起来py2exe找不到sqlalchemy c扩展。

为什么不在发行版中包含鸡蛋,将sqlachemy放在py2exe的excludes中,并在start上加载鸡蛋呢?

我在启动脚本中使用了以下代码:

代码语言:javascript
复制
import sys
import path
import pkg_resources

APP_HOME = path.path(sys.executable).parent
SUPPORT = APP_HOME / 'support'

eggs = [egg for egg in SUPPORT.files('*.egg')]
reqs, errs = pkg_resources.working_set.find_plugins(
    pkg_resources.Environment(eggs)
)
map(pkg_resources.working_set.add, reqs)

sys.path.extend(SUPPORT.files('*.egg'))

我使用Jason Orendorff的path模块(http://pypi.python.org/pypi/path.py),但如果您愿意,可以很容易地将其删除。

票数 0
EN

Stack Overflow用户

发布于 2011-03-15 20:50:20

我知道这本身是没有答案的,但是你有没有尝试过pyInstaller?我曾经使用过py2exe,我发现很难获得真正可分发的东西。pyInstaller需要更多的设置,但是文档很好,结果似乎更好。

要解决此问题,您可以尝试搜索提到的dll,并将它们放置在包含exe的文件夹中,或将其放在构建它的位置。

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

https://stackoverflow.com/questions/5310922

复制
相关文章

相似问题

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