我正在尝试使用pyinstaller将我的pthon代码转换为窗口中的excutable。 但不幸的是,它一直给我以下错误:
NotImplementedError无法执行此操作
所以我做了一项研究,以了解如何解决这个问题。在here中,我可以发现我的一个包含jinja2依赖性的包导致了这个问题(在这种情况下#34; folium")。其中一个名为 bjones1 的用户甚至说过如何做简单的解决方法。
但是,一个简单的解决方法是从PyInstaller中排除包含Jinja2模板的包,然后在钩子文件中使用datas = collect_data_files(' template_package',None,True)(或手动复制包)。我附上了我的工作示例(但使用了手动复制过程):jinja2.zip。
现在,问题是我对Pyinstaller相当新,所以我并不真正理解他在说什么。所以我做了更多的研究,并想出了如何包含钩子文件+排除包。但我还是不确定如何解决这个问题。所以我的问题是,我应该如何将其应用到我的情境中,以便当我尝试导入folium时它不会给我任何错误。
供参考: 我使用的是python 3.6 window7和 这是我导入的软件包列表,万一有人不知道。
import folium
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
import os
import engine # this is just self-made module that helps to run my code
import mplleaflet
import matplotlib.pyplot as plt
import math
import io
import requests
from bs4 import BeautifulSoup
import time
import datetime
import math
答案 0 :(得分:1)
我不能真的相信这个答案,但是它最终为我工作了,我注意到这是您遇到的同一核心问题。
https://stackoverflow.com/a/55982529/9431874
让我感到困惑的部分是我正在修改Python36-32文件夹中的软件包文件,而不仅仅是Python36文件夹。希望这也对您有用。