“使用Pynsis捆绑安装的程序运行时,遇到Selenium模组未找到错误”

2024-09-19 21:37:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我在3.6中编写了一个小型python程序,用于自动执行我每月在工作中执行的任务。它可能对我的同事有用,所以我一直在尝试将它与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'

Selenium并不是我的代码中导入的第一个模块,所以其他模块似乎都被正确绑定了,问题就出在Selenium上。你知道吗

我试过在pynsist\u 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

这是我的安装程序.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

如果有人有任何想法,那将不胜感激!你知道吗


Tags: 模块文件inpy程序timeseleniumdir
1条回答
网友
1楼 · 发布于 2024-09-19 21:37:19

转载作为一个答案,所以它是明确的其他人谁遇到这个。你知道吗

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

entry_point=my_module:main

The documentation提供了有关此功能的更多信息。你知道吗

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

import sys
sys.path.insert(0, 'pkgs')

使用entry_point=允许Pynsist自动添加这个样板文件和更多内容(例如,更好地处理GUI应用程序中未捕获的异常)。这就是为什么我总是建议超过script=。Pynsist的未来版本甚至可能会删除指定脚本的选项。你知道吗

相关问题 更多 >