解决python多版本时pip问题

环境:Mac os 10.13.1

问题描述

采用pip安装mayavi时,遇到问题:
输入代码:

$ pip3 install mayavi

Complete output from command /Users/xxx/anaconda3/bin/python -u -c “import setuptools, tokenize;file=’/private/var/folders/yk/gtj9z85j0xl4559gz2602br00000gn/T/pip-install-8nty2kwx/mayavi/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install –record /private/var/folders/yk/gtj9z85j0xl4559gz2602br00000gn/T/pip-record-1lor35tc/install-record.txt –single-version-externally-managed –compile:
running install
running build
Fatal Python error: PyThreadState_Get: no current thread

从command调用的python路径可以看出,系统默认关联到的版本是python2,所以要换一种方式执行pip,使其在执行python setup.py 时能调用python3

解决方案

强行采用python3.6执行py文件

$ sudo python3.6 -m pip install mayavi
其他理论参考:

参考博客

mac自带python2.7 但是我自己又安装了其它版本的Python环境,而且我一直使用的都是我自己安装的Python环境。但是一般下载的第三方模块或是我们自己编译链接的模块在配置的时候,都会默认关联系统层面的Python命令(特别是OS X和Linux——网上资料的描述),因此当我们使用自己安装的Python环境时,需要重新关联第三方模块和自己使用的Python命令。

重关联命令 在OS X 10.12下:

$ install_name_tool -change /System/Library/Frameworks/Python.framework/Versions/2.7/Python /自己的Python环境下的lib/libpython2.7.dylib 编译链接好的.so文件
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值