cx_freeze + selenium + python 3:没有名为“httplib”的模块
Posted
技术标签:
【中文标题】cx_freeze + selenium + python 3:没有名为“httplib”的模块【英文标题】:cx_freeze + selenium + python 3 : No module named 'httplib' 【发布时间】:2015-07-11 05:42:09 【问题描述】:我试图用 selenium 构建我的应用程序,我有这个 setup.py:
import sys
from cx_Freeze import setup, Executable
path_drivers = ( "C:\Python34\Lib\site-packages\PyQt5\plugins\sqldrivers\qsqlmysql.dll", "sqldrivers\qsqlmysql.dll" )
includes = ["atexit","PyQt5.QtCore","PyQt5.QtGui", "PyQt5.QtWidgets","PyQt5.QtSql", "selenium"]
includefiles = [path_drivers]
excludes = [
'_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
'Tkconstants', 'Tkinter'
]
packages = ["os"]
path = []
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options =
"includes": includes,
"include_files": includefiles,
"excludes": excludes,
"packages": packages,
"path": path
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
exe = None
if sys.platform == "win32":
exe = Executable(
script="main.py",
initScript = None,
base=None,
targetName="zeus.exe",
compress = True,
copyDependentFiles = True,
appendScriptToExe = False,
appendScriptToLibrary = False,
icon = None
)
setup(
name = "telll",
version = "0.1",
author = 'me',
description = "My GUI application!",
options = "build_exe": build_exe_options,
executables = [exe]
)
构建完成没有问题,但是当我运行我的应用程序时:
ImportError: No module named 'httplib'
我的配置: Python 3.4.3 32 位。 PyQt5 硒 2.46.0
谢谢你的帮助
【问题讨论】:
尝试将 httplib 添加到 setup.py 中的“包”列表中 @ThomasK httplib 是来自 python2 的库,我使用 python3 因为 PyQt5 使用 python3,但 selenium 需要 httplib。当我运行我的应用程序表单控制台时,我不知道如何解决这个问题。 错误信息是否有回溯?如果是这样,你也能证明吗? 【参考方案1】:httplib 不在您的目录路径中或尚未导入。
尝试将这两个脚本中的任何一个添加到您的代码中:
-
导入httplib
httplib = httplib(config_file="你的 httplib 目录路径")
【讨论】:
出现问题是因为 python3 selenium 使用了 httplib2 但由于某种原因需要 httplib 但在 python3 中完美运行。然而,当使用 cx_Freeze 创建构建时,问题是 httplib,我不知道如何解决这个问题并结束应用程序的部署。以上是关于cx_freeze + selenium + python 3:没有名为“httplib”的模块的主要内容,如果未能解决你的问题,请参考以下文章
cx_freeze 可执行文件无法与 Geckodriver 配合使用
Python 3.4 cx_freeze [WinError 5] 使用 Selenium - 仅在其他机器上