在 MacBook 上为 Raspberry Pi 3 构建 Python 平台轮
Building a Python platform wheel for a Raspberry Pi 3 on a MacBook
我有一个包含 Rust 扩展的 python2
包。
这些扩展在我的笔记本电脑上针对 armv7 进行交叉编译,并输出到 .dylib
文件中,然后添加到 Python 包中。
通过发出以下命令构建包:
python setup.py bdist_wheel --plat-name linux-armv7l
问题是这会在 dist
文件夹中生成以下轮子:
<mypackage>-0.1.17-cp27-cp27m-linux_armv7l.whl
生产的车轮命名错误,无法安装在 Raspberry Pi 上。
但是,当我将轮子重命名为:
<mypackage>-0.1.17-cp27-cp27mu-linux_armv7l.whl
轮子现在可以安装在我的树莓派上了。
如何让 python setup.py bdist_wheel
为我的构建发行版输出带有正确标签的轮子?
cpXXm
和 cpXXmu
指定目标 python 实现是否具有广泛的 unicode 支持(python 是否使用 --enable-unicode=ucs4
编译)。您可以使用
检查
$ python -c "import sys; print('ucs2' if sys.maxunicode == 65535 else 'ucs4')"
如果它打印 ucs2
,那么使用 python 安装构建的轮子将产生 cp27m
个轮子,否则要产生 cp27mu
个轮子,它应该打印 ucs4
.
MacOS 上的系统 python 没有广泛的 unicode 支持,因此您需要安装另一个支持 unicode 的 python。要么
安装 brewed python2
:
$ brew install python
下载并安装python 2.7.15的最新官方pkg
安装程序
或者自己从源代码编译一个:
$ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
$ tar xvf Python-2.7.15.tgz
$ cd Python-2.7.15
$ ./configure --enable-unicode=ucs4
$ make
$ make install
请注意 --enable-unicode=ucs4
或 python 将在没有广泛的 unicode 支持的情况下编译。
现在构建轮子时,一定要使用正确的可执行文件(不是系统的/usr/bin/python
)。
您可以在 PEP 261 中阅读有关宽 unicode 的更多信息。
我有一个包含 Rust 扩展的 python2
包。
这些扩展在我的笔记本电脑上针对 armv7 进行交叉编译,并输出到 .dylib
文件中,然后添加到 Python 包中。
通过发出以下命令构建包:
python setup.py bdist_wheel --plat-name linux-armv7l
问题是这会在 dist
文件夹中生成以下轮子:
<mypackage>-0.1.17-cp27-cp27m-linux_armv7l.whl
生产的车轮命名错误,无法安装在 Raspberry Pi 上。
但是,当我将轮子重命名为:
<mypackage>-0.1.17-cp27-cp27mu-linux_armv7l.whl
轮子现在可以安装在我的树莓派上了。
如何让 python setup.py bdist_wheel
为我的构建发行版输出带有正确标签的轮子?
cpXXm
和 cpXXmu
指定目标 python 实现是否具有广泛的 unicode 支持(python 是否使用 --enable-unicode=ucs4
编译)。您可以使用
$ python -c "import sys; print('ucs2' if sys.maxunicode == 65535 else 'ucs4')"
如果它打印 ucs2
,那么使用 python 安装构建的轮子将产生 cp27m
个轮子,否则要产生 cp27mu
个轮子,它应该打印 ucs4
.
MacOS 上的系统 python 没有广泛的 unicode 支持,因此您需要安装另一个支持 unicode 的 python。要么
安装 brewed
python2
:$ brew install python
- 下载并安装python 2.7.15的最新官方
或者自己从源代码编译一个:
$ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz $ tar xvf Python-2.7.15.tgz $ cd Python-2.7.15 $ ./configure --enable-unicode=ucs4 $ make $ make install
请注意
--enable-unicode=ucs4
或 python 将在没有广泛的 unicode 支持的情况下编译。
pkg
安装程序
现在构建轮子时,一定要使用正确的可执行文件(不是系统的/usr/bin/python
)。
您可以在 PEP 261 中阅读有关宽 unicode 的更多信息。