如何解决在 macos 上使用 py2app 导入熊猫时出现问题
当我使用带有选项 -An 的 py2app 时,一切正常。 但是没有我在导入熊猫时出错。 我尝试了一个示例代码:
import sys
from PyQt5.QtWidgets import QApplication,QWidget
import pandas as pd
def main():
df = pd.read_csv("data.csv")
app = QApplication(sys.argv)
file = "theme.stylesheet"
w = QWidget()
w.resize(250,150)
w.move(300,300)
w.setwindowTitle('Simple')
with open(file,'r') as fh:
w.setStyleSheet(fh.read())
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
然后python setup.py py2app
使用 setup.py:
from setuptools import setup
APP = ['main.py']
OPTIONS = {'argv_emulation': True}
DATA_FILES = ['theme.stylesheet','data.csv']
setup(
app=APP,data_files=DATA_FILES,options={'py2app':OPTIONS},setup_requires=['py2app']
)
Traceback (most recent call last):
File "<frozen zipimport>",line 259,in load_module
File "pandas/_libs/tslibs/conversion.pyc",line 14,in <module>
File "pandas/_libs/tslibs/conversion.pyc",line 10,in __load
File "imp.pyc",line 342,in load_dynamic
File "<frozen importlib._bootstrap>",line 711,in _load
File "<frozen importlib._bootstrap>",line 680,in _load_unlocked
File "<frozen importlib._bootstrap_external>",line 1181,in exec_module
File "<frozen importlib._bootstrap>",line 228,in _call_with_frames_removed
File "pandas/_libs/tslibs/conversion.pyx",line 1,in init pandas._libs.tslibs.conversion
ModuleNotFoundError: No module named 'pandas._libs.tslibs.base'
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "<frozen zipimport>",in load_module
File "pandas/_libs/missing.pyc",in <module>
File "pandas/_libs/missing.pyc",in _call_with_frames_removed
File "pandas/_libs/missing.pyx",in init pandas._libs.missing
File "<frozen importlib._bootstrap>",line 1007,in _find_and_load
File "<frozen importlib._bootstrap>",line 986,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 664,in _load_unlocked
File "<frozen importlib._bootstrap>",line 627,in _load_backward_compatible
File "<frozen zipimport>",in load_module
File "pandas/_libs/tslibs/__init__.pyc",line 31,in <module>
File "<frozen importlib._bootstrap>",line 261,in load_module
KeyError: 'pandas._libs.tslibs.conversion'
During handling of the above exception,in load_module
File "pandas/_libs/hashtable.pyc",in <module>
File "pandas/_libs/hashtable.pyc",in _call_with_frames_removed
File "pandas/_libs/hashtable.pyx",in init pandas._libs.hashtable
File "<frozen importlib._bootstrap>",in load_module
KeyError: 'pandas._libs.missing'
During handling of the above exception,in load_module
File "pandas/_libs/interval.pyc",in <module>
File "pandas/_libs/interval.pyc",in _call_with_frames_removed
File "pandas/_libs/interval.pyx",in init pandas._libs.interval
File "<frozen importlib._bootstrap>",in load_module
KeyError: 'pandas._libs.hashtable'
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/Users/jaysenoner/PycharmProjects/final/dist/main.app/Contents/Resources/__boot__.py",line 411,in <module>
_run()
File "/Users/jaysenoner/PycharmProjects/final/dist/main.app/Contents/Resources/__boot__.py",line 394,in _run
exec(compile(source,path,"exec"),globals(),globals())
File "/Users/jaysenoner/PycharmProjects/final/dist/main.app/Contents/Resources/main.py",line 6,in <module>
import pandas as pd
File "<frozen importlib._bootstrap>",in load_module
File "pandas/__init__.pyc",line 22,in load_module
File "pandas/compat/__init__.pyc",line 15,in load_module
File "pandas/compat/numpy/__init__.pyc",line 7,in load_module
File "pandas/util/__init__.pyc",in load_module
File "pandas/util/_decorators.pyc",in load_module
File "pandas/_libs/__init__.pyc",line 13,in load_module
我尝试使用 pyinstaller,但是当我打开应用程序时立即关闭。
如果我在 Windows 上使用它,它工作正常,但在我需要的 macos 中却没有。
我也尝试将 pandas 放在 setup.py 的包中并包含但仍然不起作用。
解决方法
我解决了这个问题,将 python 降级到 3.6 到 3.9。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。