Py2exe 添加包(例如 Carbon)到 exe
Py2exe Adding package ( e.g. Carbon ) to exe
我在使用此导入的地方创建了一个脚本:
import MySQLdb
import sys
import paramiko as pm
import os
现在我尝试使用 py2exe 和这个 setup.py 将此脚本转换为 .exe :
# setup.py
from distutils.core import setup
import os
import MySQLdb
import sys
import paramiko
import py2exe
data_files = []
setup(
name='Worker',
console=['Script.py'],
options={
'py2exe': {
'packages': [],
'dist_dir': 'dist',
'compressed': True,
'includes': ['paramiko', 'MySQLdb'],
}
},
data_files=data_files
)
如果我 运行 设置来自日志的一部分:
The following modules appear to be missing
['Carbon', 'Carbon.Files', '_imp', '_scproxy', '_sysconfigdata', '_thread', 'builtins', 'cryptography.hazmat.bindings._commoncrypto', 'gssapi', 'importlib.machinery', 'pkg_resources.extern.appdirs', '
pkg_resources.extern.packaging', 'pkg_resources.extern.six', 'pkg_resources.extern.six.moves', 'sspi', 'sspicon', 'win32pipe', 'winreg']
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
它创建了一个 exe,但是如果我尝试 运行 这个,我会收到模块丢失的错误。
那么如何将这些模块添加到我的 exe/setup.py 中呢?
试试运行这个代码:
setup.py
from distutils.core import setup
import os
import MySQLdb
import sys
import paramiko
import py2exe
data_files = []
setup(
name='Worker',
console=['Script.py'],
options={
'py2exe': {
'packages': ['Carbon', 'Carbon.Files', '_imp', '_scproxy', '_sysconfigdata', '_thread', 'builtins', 'cryptography.hazmat.bindings._commoncrypto', 'gssapi', 'importlib.machinery', 'pkg_resources.extern.appdirs', ' pkg_resources.extern.packaging', 'pkg_resources.extern.six', 'pkg_resources.extern.six.moves', 'sspi', 'sspicon', 'win32pipe', 'winreg'],
'dist_dir': 'dist',
'compressed': True,
'includes': ['paramiko', 'MySQLdb'],
}
},
data_files=data_files
)
我参考了这个Answer。
我也有类似的问题。据我所见,Carbon 需要 "graphite" 而那只是 *nix!因此,在 Windows 上使用 py2exe...
没有简单的解决方案
我在使用此导入的地方创建了一个脚本:
import MySQLdb
import sys
import paramiko as pm
import os
现在我尝试使用 py2exe 和这个 setup.py 将此脚本转换为 .exe :
# setup.py
from distutils.core import setup
import os
import MySQLdb
import sys
import paramiko
import py2exe
data_files = []
setup(
name='Worker',
console=['Script.py'],
options={
'py2exe': {
'packages': [],
'dist_dir': 'dist',
'compressed': True,
'includes': ['paramiko', 'MySQLdb'],
}
},
data_files=data_files
)
如果我 运行 设置来自日志的一部分:
The following modules appear to be missing
['Carbon', 'Carbon.Files', '_imp', '_scproxy', '_sysconfigdata', '_thread', 'builtins', 'cryptography.hazmat.bindings._commoncrypto', 'gssapi', 'importlib.machinery', 'pkg_resources.extern.appdirs', '
pkg_resources.extern.packaging', 'pkg_resources.extern.six', 'pkg_resources.extern.six.moves', 'sspi', 'sspicon', 'win32pipe', 'winreg']
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
它创建了一个 exe,但是如果我尝试 运行 这个,我会收到模块丢失的错误。 那么如何将这些模块添加到我的 exe/setup.py 中呢?
试试运行这个代码:
setup.py
from distutils.core import setup
import os
import MySQLdb
import sys
import paramiko
import py2exe
data_files = []
setup(
name='Worker',
console=['Script.py'],
options={
'py2exe': {
'packages': ['Carbon', 'Carbon.Files', '_imp', '_scproxy', '_sysconfigdata', '_thread', 'builtins', 'cryptography.hazmat.bindings._commoncrypto', 'gssapi', 'importlib.machinery', 'pkg_resources.extern.appdirs', ' pkg_resources.extern.packaging', 'pkg_resources.extern.six', 'pkg_resources.extern.six.moves', 'sspi', 'sspicon', 'win32pipe', 'winreg'],
'dist_dir': 'dist',
'compressed': True,
'includes': ['paramiko', 'MySQLdb'],
}
},
data_files=data_files
)
我参考了这个Answer。
我也有类似的问题。据我所见,Carbon 需要 "graphite" 而那只是 *nix!因此,在 Windows 上使用 py2exe...
没有简单的解决方案