virtuaenv使用requirment.txt安装python包报错

公司需要适配龙芯,在龙芯机器上创建虚拟环境后,通过requirment.txt安装python包,但是由于packages里的包大多是centos编译出的.whl包,在龙芯上识别不到,报错Could not find a version that satisfies the requirement xxxx,明明packages里有这个包,但是平台识别不出来,只能用源码编译安装。


报错信息:

在这里插入图片描述


解决方法:

去官网下载对应的源码包,或者直接在目标平台使用python pip download -d 下载路径 包名 版本号下载,如果直接下载到.whl包是最完美的,省去编译步骤。


下载完源码的tar包,放入packages中,执行安装python pip --disable-pip=version-check --no-cache-dir --no-index -f /lwq/packages -r /lwq/packages/requirements.txt , 结果编译时又报错。

报错信息:

在这里插入图片描述


问题分析:

在编译源码包时,缺少了一个依赖,查询官网发现cryptography在编译时需要一个rust编译器,即报错信息中显示的setuptools-rust。
官网信息


然后去pypi下载轮子,放入packages。
在这里插入图片描述


至此,依赖成功通过。
在这里插入图片描述

战略下划线


依赖通过后,真正的坑还在等着我。
在编译阶段,报错,缺少一个Rust编译器,查询Changelog发现cryptography在3.4版本加入了Rust,所以需要一个 Rust编译器,随即想着去安装一个Rust编译器。

来到Rust官网,找到安装方法
普通的发行版Linux直接使用下面这行命令就可以正常安装,一路默认安装即可。

  1. 加入中科大镜像源,否则下载速度太慢。
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
  1. 使用命令按照
curl https://sh.rustup.rs -sSf | sh
  1. 安装完之后执行重新加载环境变量,使rustup命令生效
source $HOME/.cargo/env
  1. 打印版本,成功打印出版本号
rustc --version

结果,龙芯在安装时报错找不到cpu类型,于是我直接去官网上找到龙芯的rustup-init 文件,按照官网的提示下载下来后直接运行,结果呢,getRandom函数报了个panic。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值