首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium ModuleNotFoundError运行已安装程序,并与Pynsist捆绑

Selenium ModuleNotFoundError运行已安装程序,并与Pynsist捆绑
EN

Stack Overflow用户
提问于 2017-04-20 16:10:42
回答 1查看 129关注 0票数 1

我在3.6中编写了一个小型python程序,用于自动化我每月在工作中完成的任务。它可能对我工作的其他人很有用,所以我一直试图把它和Pynsist捆绑在一起。

在捆绑之前,程序成功地从空闲和windows命令行运行。在通过.exe进行捆绑和安装之后,我会收到一个错误声明:

回溯(最近一次调用):文件"C:\Program \Time Clocker\timeClocker.py",第7行,在selenium导入webdriver : No模块,名为'selenium‘

selenium不是在我的代码中导入的第一个模块,因此其他模块似乎被正确地捆绑在一起,问题就在于Selenium。

我尝试过在pynsist_pkgs文件夹中包含一些selenium文件,但这也不起作用。这是那些文件,不确定它们是否是正确的。

代码语言:javascript
复制
04/04/2017  02:25 PM            19,057 CHANGES
03/08/2017  07:00 AM               915 MANIFEST.in
04/04/2017  02:28 PM             7,864 PKG-INFO
04/04/2017  08:11 AM             5,719 README.rst
04/13/2017  04:50 PM    <DIR>          selenium
04/13/2017  04:50 PM    <DIR>          selenium.egg-info
04/04/2017  02:28 PM               230 setup.cfg
04/04/2017  02:26 PM             3,806 setup.py
               6 File(s)         37,591 bytes

以下是我的installer.cfg文件供参考:

代码语言:javascript
复制
[Application]
name=Time Clocker
version=1.0
package:
script=timeClocker.py
console=true    

[Python]    

version=3.6.1    

[Include]    

packages = selenium
     re
     getpass    

files = chromedriver.exe

如果任何人有任何想法,那将是非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 21:29:09

重新张贴作为一个答案,所以这是显而易见的其他人谁看到了这一点。

installer.cfg文件使用script=来定义如何启动应用程序。建议使用entry_point=来指定函数,如:

代码语言:javascript
复制
entry_point=my_module:main

文献资料有更多关于这个功能的信息。

如果您确实需要使用脚本,在尝试导入包之前,请确保脚本顶部有一些样板:

代码语言:javascript
复制
import sys
sys.path.insert(0, 'pkgs')

使用entry_point=可以自动添加这个样板和更多(例如,更好地处理GUI应用程序中的未见异常)。这就是为什么我总是在script=上推荐的原因。未来版本的Pynsist甚至可能会删除指定脚本的选项。

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

https://stackoverflow.com/questions/43524707

复制
相关文章

相似问题

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