gpt4 book ai didi

python - mac上的PyInstaller找不到libpython2.7

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:07 26 4
gpt4 key购买 nike

我正在尝试使用 PyInstaller 2.0 制作 Python 脚本的二进制版本。我正在使用一个基本的“hello world”tkinter 脚本,但导入了一些项目需要的依赖项来测试 Pyinstaller。我在运行 Yosemite 10.10.5 的 Mac 上。这是我的脚本:

#!/usr/bin/env python
from Tkinter import *
import Tix
import tkMessageBox
from sklearn import linear_model, decomposition, preprocessing
from sklearn.preprocessing import Imputer
from sklearn.cross_validation import cross_val_score, cross_val_predict
from sklearn.neighbors import KDTree
import numpy as np
import collections
import array
import math
import csv
from collections import OrderedDict
import matplotlib
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt
import matplotlib.dates as dates
from matplotlib.mlab import PCA
from mpl_toolkits.mplot3d import Axes3D
from scipy.stats import mode
import heapq
import sqlite3
from sqlite3 import datetime


root = Tk()

w = Label(root, text="Hello, world!")
w.pack()

root.mainloop()

这运行完美。但是,当我使用

构建二进制文件时
$pyinstaller -w -F app.py 

然后我得到这个错误:

57665 ERROR: Can not find path ./libpython2.7.dylib (needed by //anaconda/bin/python)
Traceback (most recent call last):
File "//anaconda/bin/pyinstaller", line 11, in <module>
sys.exit(run())
File "//anaconda/lib/python2.7/site-packages/PyInstaller/__main__.py", line 90, in run
run_build(pyi_config, spec_file, **vars(args))
File "//anaconda/lib/python2.7/site-packages/PyInstaller/__main__.py", line 46, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/build_main.py", line 788, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/build_main.py", line 734, in build
exec(text, spec_namespace)
File "<string>", line 16, in <module>
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/build_main.py", line 212, in __init__
self.__postinit__()
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/datastruct.py", line 178, in __postinit__
self.assemble()
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/build_main.py", line 543, in assemble
self._check_python_library(self.binaries)
File "//anaconda/lib/python2.7/site-packages/PyInstaller/building/build_main.py", line 626, in _check_python_library
raise IOError(msg)
IOError: Python library not found: libpython2.7.dylib, Python, .Python
This would mean your Python installation doesn't come with proper library files.
This usually happens by missing development package, or unsuitable build parameters of Python installation.

* On Debian/Ubuntu, you would need to install Python development packages
* apt-get install python3-dev
* apt-get install python-dev
* If you're building Python by yourself, please rebuild your Python with `--enable-shared` (or, `--enable-framework` on Darwin)

有人知道我该如何解决这个问题吗?当我使用没有额外依赖项的基本 hello world 示例时,也会发生此错误。我在//anaconda/lib 中有 libpython2.7.dylib 文件,我尝试使用

将它链接到 usr/lib/
$sudo ln -s /usr/local/lib/libpython2.7.dylib //anaconda/lib/libpython2.7.dylib

但是它并没有解决问题...

最佳答案

如果您像我一样通过 pyenv 使用 python,您可能需要重新安装并启用共享以访问 xcode 库,除非您之前已经这样做了。

sudo env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7

PS:我在 Darwin 上,但 enable-sharedenable-framework 还有效

事实上,下面的错误消息告诉我们该怎么做

enter image description here

关于python - mac上的PyInstaller找不到libpython2.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38920076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com