龙芯网站python答案_移植python包到龙芯(MIPS64EL)平台

由于有不少python 包是用c编写的,这样一来在不同的CPU架构(x86,MIPS64等,python 默认提供的是x86架构的包)上使用时需要重新编译。目前有两种方法来处理这个问题。

使用pip在线安装,利用pip在线安装时会自动下载相应的源码包并编译的功能

找到源码然后手动编译,一般在https://pypi.org 可以到源码

使用这两种方法时都得安装编译环境及编译此包所需的依赖,不然就会出现编译失败或安装失败的提示。

用 pip install 安装时,如果找不到相应的.whl 包,则自动下载源码之后进行编译。编译后的包在~/.cache/pip/wheels目录下。可以把这些编译好的.whl 文件复制出来。

pip 安装时的cahce 目录可以通过命令来查看。相关参考:https://pip.pypa.io/en/stable/reference/pip_cache/

# pip cache dir

/root/.cache/pip

使用pip在线安装

$ pip install pyarrow

Collecting pyarrow

Downloading https://files.pythonhosted.org/packages/ed/c9/85d179d5a0575e1b066fb94bfe1e37b6d3ca546b58e75b9d1ca4952320de/pyarrow-0.17.1.tar.gz (2.6MB)

100% |████████████████████████████████| 2.6MB 146kB/s

Installing build dependencies ... done

Requirement already satisfied: numpy>=1.14 in /home/loongson-gd/.local/lib/python3.7/site-packages (from pyarrow) (1.18.5)

Building wheels for collected packages: pyarrow

Running setup.py bdist_wheel for pyarrow ... error

Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ekyp7jb9/pyarrow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ca7vzlm6 --python-tag cp37:

running bdist_wheel

源码编译

$ cd opencv-python-34

$ python3 setup.py bdist_wheel

Collecting numpy==1.14.5

Using cached https://files.pythonhosted.org/packages/d5/6e/f00492653d0fdf6497a181a1c1d46bbea5a2383e7faf4c8ca6d6f3d2581d/numpy-1.14.5.zip

Building wheels for collected packages: numpy

提取编译好的包

提取编译好的包到~/wheel目录脚本如下:

#!/bin/bash

##此目录用来存放待提取的whl包

mkdir -p ~/wheel

cd ~/.cache/pip/wheels

for f in `find . -name "*.whl"`

do

echo $f

cp $f ~/wheel -rvf

done

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值