首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >、UCS4构建或UCS2构建

、UCS4构建或UCS2构建
EN

Stack Overflow用户
提问于 2018-06-29 03:44:12
回答 1查看 528关注 0票数 0

在我的Linux机器上,直接执行python命令,它显示我的UCS4是UCS4构建。

代码语言:javascript
复制
Python 2.7.3 (default, Jan  8 2018, 17:43:28)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> if sys.maxunicode > 65535:
...     print 'UCS4 build'
... else:
...     print 'UCS2 build'
...
UCS4 build

但是,当我在C++程序中调用python时,使用

代码语言:javascript
复制
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("if sys.maxunicode > 65535:\n    print 'UCS4 build'\nelse:\n    print 'UCS2 build'");

它打印"UCS2 build“。c++调用的python中的其他信息包括:

platform:Linux-2.6.32_1-19-0-0-x86_64-with-centos-6.3-Final (“Python”,'2.7.5 (缺省值,2016年4月13日,14:25:24) GCC 4.4.6 20120305 (红帽4.4.6-4‘) (“Python”、“*/venv”)

我已经双重检查了python可执行路径。它们来自同一条道路,但python版本和gcc版本不同。

有人知道这个奇怪的交响乐的原因吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-29 06:53:26

我解决了这个问题。使用ldd命令,我发现libpython2.7.so.1.0指向错误的默认路径,而不是前面打印的路径。纠正LD_LIBRARY_PATH解决了这个困惑……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51093968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档