随笔:75 文章:7 评论:38 引用:0
C++博客 首页 发新随笔
发新文章 联系 聚合管理

2018年9月13日

1、python里import tensorflow时报 “ImportError: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)”

glibc 升级

GLIBC 升级 

安装包,自己编译 

由于centos6.5以下版本glibc最高为2.12,如果想要升级,必须自己下载源码,编译升级,但是从官网上下载的安装包,需要一些其他的关联包,安装麻烦,且不利于其他机器的部署。 

rpm安装 

从网上下载glibc-2.15.rpm,以及其他相关的glib安装包, 

glibc-common-2.15-60.el6.x86_64.rpm 

glibc-devel-2.15-60.el6.x86_64.rpm 

glibc-2.15-60.el6.x86_64.rpm 

glibc-headers-2.17-60.el6.x86_64.rpm 

这个包能找到就下,找不到就不用安装了。 

[下载好放到了nb01-sys-gpu-kongming13.nb01.baidu.com:/root/softwares/glibc217.tar] 


nscd-2.12-1.192.el6.x86_64.rpm 

在使用rpm安装时,需要忽略包的关联性,否则无法正常安装。 

rpm -Uvh --nodeps *2.17-55.el6.x86_64.rpm --force 

安装好后,ldconfig 

检查ll /lib64/libc.* 

此时可以看到glibc.so.6 已经指向了2.17.so 

注意 

在安装glibc时,一定注意备份,因为一旦出错,整个系统就会挂掉。 



libstdc++.so.6

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found 

Kongming 机器:  

export LD_PRELOAD=/home/opt/gcc-4.8.2.bpkg-r2/gcc-4.8.2.bpkg-r2/lib64/libstdc++.so.6


2. python里import tensorflow时报 “ImportError: /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so: undefined symbol: PyUnicodeUCS4_FromString”

 

如果自己单独升级了python,或者有多个版本的python时,便有可能出现此问题.
问题表象为:报错:undefined symbol: PyUnicodeUCS2_AsUTF8String或者undefined symbol: PyUnicodeUCS4_AsUTF8String.
根本原因时python和某个你用的库编译时指定的UCS编码方式不对.
编译python时,可以通过指定--enable-unicode[=ucs[24]]来选择使用UCS2或者UCS4.
如果你的错误是undefined symbol: PyUnicodeUCS2_AsUTF8String,说明你的python编译时使用的是UCS4,反之依然.
解决方案两个:1,重新编译python,2,重新编译库.
选择一般是重新编译库.
我这重新编译python,因为报错是PyUnicodeUCS4_FromString,说明tensorflow是用UCS4编译的,而python是UCS2编译的:  
重新编译时设置unicode为ucs4
./configure --prefix=/usr/local/python27 --enable-unicode=ucs4
python2.7.11默认是使用UCS2.

3. 
ImportError: No module named Tkinter
https://www.douban.com/note/524197380/
posted @ 2018-09-13 18:38 未央 阅读(4) | 评论 (0)编辑 收藏

2018年9月12日

在linux安装了多版本python时(例如python2.6和2.7),pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置.

例如目标位置是/usr/local/lib/python2.7/site-packages/ ,要安装xlrd 这个包,则:

$ pip install -t /usr/local/lib/python2.7/site-packages/ xlrd 
  • 1

权限不够则在命令前加sudo

posted @ 2018-09-12 15:54 未央 阅读(2) | 评论 (0)编辑 收藏

2017年10月31日

最近写的python脚本,在用print输出的时候,都有一个很讨厌的问题,就是print的输出被延迟了。

根源是python默认启用了stdout缓冲,解决的办法有两种:


一种办法是每次print后,都调用stdout flush(),把缓冲区打印出来,这个办法比较麻烦,要重载stdout,不推荐。

最简单的方法是用命令行参数-u启动python,禁用stdout缓冲

比如脚本是build-native.py,运行 python -u build-native.py就不会出现print延迟问题了

posted @ 2017-10-31 11:33 未央 阅读(103) | 评论 (0)编辑 收藏

2017年9月21日

问题:在make pycaffe时,可能会出现:

error: make: ***No rule to make target 'include/layers/python_layer.hpp, needed by 'python/caffe/_caffe.so'. Stop.
这是由于caffe的版本不同导致的。

解决方法:

在 include/caffe/layers/文件夹中的python_layer.hpp复制到include/caffe/文件夹下

再次make pycaffe,编译成功


在其他地方打开python,使之可以import caffe:

添加环境变量:

cd ~

vim /.bashrc

将export PYTHONPATH=/home/nielsen/caffe-master/python:$PYTHONPATH添加到文件中

source ~/.bashrc 使之生效

posted @ 2017-09-21 17:01 未央 阅读(671) | 评论 (0)编辑 收藏

2017年7月18日

Liunx 运行用 Intel MKL 库文件的程序出错 “error while loading shared libraries libmkl_intel.so” 解决办法

2012-06-05 18:19 本站整理 浏览(9)
编译例子
gcc -o foo foo.c -I/opt/intel/mkl/10.1.0.015/include  -L/opt/intel/mkl/10.1.0.015/lib/32 -lmkl_intel ... <other MKL libs>

错误提示
./foo: error while loading shared libraries libmkl_intel.so: cannot open shared object file No such file or directory

解决办法:在Liunx 环境变量中加入Intel MKL 库文件路径
Intel 官网详解:
Before using the Intel® MKL shared libraries, update the system variable LD_LIBRARY_PATH to include the libraries location. For example, if the Intel MKL libraries are in the /opt/intel/mkl/10.1.0.015/lib/32 directory then the following command line can be
used (assuming a bash shell):
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
posted @ 2017-07-18 10:35 未央 阅读(42) | 评论 (0)编辑 收藏

2015年1月28日

1. 修改 C:\wamp\bin\apache\Apache2.2.17\conf \httpd.conf(实现更改默认网站路径,即将DocumentRoot和Directory定向到自己的默认目录:E:/phproot/
2. 重启所有服务
posted @ 2015-01-28 15:43 未央 阅读(162) | 评论 (0)编辑 收藏

2014年11月10日

假定矩形是用一对点表达的(minx, miny) (maxx, maxy),那么两个矩形
    rect1{(minx1, miny1)(maxx1, maxy1)}
    rect2{(minx2, miny2)(maxx2, maxy2)}  
相交的结果一定是个矩形,构成这个相交矩形rect{(minx, miny) (maxx, maxy)}的点对坐标是:  
    minx   =   max(minx1,   minx2)  
    miny   =   max(miny1,   miny2)  
    maxx   =   min(maxx1,   maxx2)  
    maxy   =   min(maxy1,   maxy2)  
   
如果两个矩形不相交,那么计算得到的点对坐标必然满足:  
  ( minx  >  maxx ) 或者 ( miny  >  maxy ) 
   
判定是否相交,以及相交矩形是什么都可以用这个方法一体计算完成。
从这个算法的结果上,我们还可以简单的生成出下面的两个内容:
㈠ 相交矩形:  (minx, miny) (maxx, maxy)
㈡ 面积: 面积的计算可以和判定一起进行
        if ( minx>maxx ) return 0;
        if ( miny>maxy ) return 0;
        return (maxx-minx)*(maxy-miny)
posted @ 2014-11-10 13:26 未央 阅读(562) | 评论 (0)编辑 收藏

2014年11月3日

早就听说人快点的沸点是会逐渐升高的,所有要不断挑战自己才能保持获得快乐。刚上班的时候每次发工资都好开心,会去一遍遍的看工资条,特别有成就感。现在工资已经变成了一个数字,虽然月底的时候还是会期待,但是已经没有那么开心了。于是,要订新目标,找寻新快乐了,咔咔
posted @ 2014-11-03 09:58 未央 阅读(105) | 评论 (0)编辑 收藏

2014年3月18日

有可能是递归层数过多,跳出条件失败导致的。
posted @ 2014-03-18 20:42 未央 阅读(5548) | 评论 (0)编辑 收藏

2014年2月18日

使用QMainWindow可以方便的添加菜单栏、工具条等,但是在Ubuntu 12.04的系统下,菜单栏始终无法显示,后来得知是此系统将菜单栏做到的屏幕顶端。要想把菜单栏恢复到程序窗口中,需要卸载一些东西,使用下面的命令即可。 sudo apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt, 若想重装回来则 sudo apt-get install appmenu-gtk appmenu-gtk3 appmenu-qt。
此方法来源于
http://comments.gmane.org/gmane.linux.ubuntu.user.chinese/9778

在终端启动gedit或gvim的时候,总是出现类似的问题:undefined symbol: menu_proxy_module_load

找了下发现是安装呢macbuntu的时候,之后再卸载后发生的问题,好像是多删除某个东西,

在这里找到答案:http://alexsleat.co.uk/2010/10/19/gedit-failed-to-load-type-module-menu_proxy_module_load-ubuntu/

只需要重新安装下就可以了,执行命令如下:
sudo apt-get install appmenu-gtk

posted @ 2014-02-18 17:27 未央 阅读(1968) | 评论 (0)编辑 收藏
CALENDER
<2018年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(6)

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜


Powered By: 博客园
模板提供沪江博客