我在3.6中编写了一个小型python程序,用于自动化我每月在工作中完成的任务。它可能对我工作的其他人很有用,所以我一直试图把它和Pynsist捆绑在一起。
在捆绑之前,程序成功地从空闲和windows命令行运行。在通过.exe进行捆绑和安装之后,我会收到一个错误声明:
回溯(最近一次调用):文件"C:\Program \Time Clocker\timeClocker.py",第7行,在selenium导入webdriver : No模块,名为'selenium‘
selenium不是在我的代码中导入的第一个模块,因此其他模块似乎被正确地捆绑在一起,问题就在于Selenium。
我尝试过在pynsist_pkgs文件夹中包含一些selenium文件,但这也不起作用。这是那些文件,不确定它们是否是正确的。
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文件供参考:
[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如果任何人有任何想法,那将是非常感谢!
发布于 2017-04-20 21:29:09
重新张贴作为一个答案,所以这是显而易见的其他人谁看到了这一点。
installer.cfg文件使用script=来定义如何启动应用程序。建议使用entry_point=来指定函数,如:
entry_point=my_module:main文献资料有更多关于这个功能的信息。
如果您确实需要使用脚本,在尝试导入包之前,请确保脚本顶部有一些样板:
import sys
sys.path.insert(0, 'pkgs')使用entry_point=可以自动添加这个样板和更多(例如,更好地处理GUI应用程序中的未见异常)。这就是为什么我总是在script=上推荐的原因。未来版本的Pynsist甚至可能会删除指定脚本的选项。
https://stackoverflow.com/questions/43524707
复制相似问题