我在3.6中编写了一个小型python程序来自动执行我每月在工作中执行的任务。它可能对我工作的其他人有用,所以我一直试图将它与Pynsist捆绑在一起。Selenium ModuleNotFoundError运行已安装程序与Pynsist捆绑在一起
打包之前,程序从IDLE和Windows命令行都成功运行。通过.exe文件捆绑并安装完毕后,我收到一个错误,指出:
Traceback (most recent call last): File "C:\Program Files\Time Clocker\timeClocker.py", line 7, in from selenium import webdriver ModuleNotFoundError: No module named 'selenium'
硒是不是被我的代码导入的第一个模块,这样看来其他人都被正确捆绑和问题仅仅是与硒。
我试过在pynsist_pkgs文件夹中包含一些硒文件,但这也不起作用。这里是那些文件,不知道它们是否合适。
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
如果任何人有任何想法,将不胜感激!
当你用Pynsist构建它时,你应该得到一个'build/nsis'文件夹。看看那里,你能看到'pkgs/selenium/__ init __。py'是否存在? –
@ThomasK它确实存在,安装后它也存在于Program Files应用程序文件夹中。 –
啊,我知道。您正在使用installer.cfg中的'script ='选项。通常,我强烈建议使用'entry_point ='选项而不是脚本 - 为此,您可以给它一个函数来调用以启动您的应用程序。请参阅[文档](http://pynsist.readthedocs.io/en/latest/cfgfile.html)。如果你使用'script =',你需要在脚本的顶部有一些样板文件 - 这也在文档中。 –