您的位置:首页 > 运维架构 > Linux

Linux下的python 配置项目环境遇到的一些问题

2015-11-04 10:10 936 查看
最近涉及到Linux(Ubuntu)下python的开发,主要是涉及到一个开源的GPU框架–Theano。在运行代码时遇到问题:

numpy.core.multiarray failed to import


通过网上的查询得知是由于numpy的版本过低,而通过以下命令查询,也得知numpy的版本号为1.6.1(当前最高版本号1.10.1)

#python环境下
import numpy
print numpy.__version__


//linux命令行环境下
python -c "import numpy; print numpy.version.version"
//当然,以上命令也可以在python环境下使用


由于Ubuntu机器所在的环境没有联网,我是通过联网的windows机器ssh到Ubuntu机器,于是在windows环境下载了一个1.6.2的numpy上传到Ubuntu机器做测试。

解压后使用以下命令安装

sudo python setup.py install


但没有反应,于是又尝试另外一个安装命令:

//此命令是安装到当前用户
sudo python setup.py install --user


安装完成之后,依然会出现版本过低的错误,于是使用pip一次性更新到最新版本。

pip install -U numpy


理论上这时候numpy已经到了最新版本了,而且通过

//pip老版本,新版本为pip list
pip freeze | grep numpy


命令查看,显示版本为1.10.1。但依然会出现numpy不是最新版本的问题,于是有使用

import numpy
print numpy.__version__


命令查看,居然显示1.6.2。因为中间时间过长,已然忘记了上面的–user操作。最后在网上查了很久才找到以下这条命令:

//机器当中有2.7和3.0的python,所以这儿的print作为函数形式使用依然正确
python -c 'import os, numpy; print(numpy.__file__)'


从而找到numpy在当前用户的./local目录下。过去删除了这个numpy,又用以下命令更新了一下pip

pip install -U pip


最后重新用pip安装最新版本numpy,最后numpy不是最新版本的问题解决,但还是出现了一个没有安装BLAS导致的问题,但这就是后话了。

以上问题的总结是:没有详细了解每条命令的意思,对linux系统的生疏以及过多重复操作,应该只用pip作为Python的包管理要好一点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: