通过pyenv将Python构建为UCS-4

Gab*_*iel 1 python ucs2 ucs pyenv ucs-4

我遇到了这个问题ImportError numpy / core / multiarray.so:未定义符号:PyUnicodeUCS2_AsASCIIStringpyenv-virtualenv环境中安装Python 。

就我而言,它发生在matplotlib软件包而不是numpy(如上述问题中),但这基本上是相同的问题。

该问题给出的答案很简单:

针对构建为UCS-4的Python重建NumPy。

我不知道该怎么做。在另一个问题中,有人说必须使用:

./configure --enable-unicode=ucs4
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何与pyenv一起使用该命令。

pyenv回购问题列表中也提到了此问题,并在注释中给出了解决方案。可悲的是(对我而言)我不明白如何应用所说评论中解释的修复程序。

所以我的问题基本上是:如何通过将Python构建为UCS-4 pyenv

Neh*_*ani 6

安装pythonpyenv使用ucs2

$ export PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2
$ pyenv install -v 2.7.11
  ...
$ pyenv local 2.7.11
$ pyenv versions
  system
* 2.7.11 (set by /home/nwani/.python-version)
$ /home/nwani/.pyenv/shims/python
Python 2.7.11 (default, Aug 13 2016, 13:42:13) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sysconfig
>>> sysconfig.get_config_vars()['CONFIG_ARGS']
"'--prefix=/home/nwani/.pyenv/versions/2.7.11' '--enable-unicode=ucs2' '--libdir=/home/nwani/.pyenv/versions/2.7.11/lib' 'LDFLAGS=-L/home/nwani/.pyenv/versions/2.7.11/lib ' 'CPPFLAGS=-I/home/nwani/.pyenv/versions/2.7.11/include '"
Run Code Online (Sandbox Code Playgroud)

安装pythonpyenv使用ucs4

$ pyenv uninstall 2.7.11
pyenv: remove /home/nwani/.pyenv/versions/2.7.11? y
$ export PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs4
$ pyenv install -v 2.7.11
...
$ pyenv local 2.7.11
$ pyenv versions
  system
* 2.7.11 (set by /home/nwani/.python-version)
$ /home/nwani/.pyenv/shims/python
Python 2.7.11 (default, Aug 13 2016, 13:49:09) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sysconfig
>>> sysconfig.get_config_vars()['CONFIG_ARGS']
"'--prefix=/home/nwani/.pyenv/versions/2.7.11' '--enable-unicode=ucs4' '--libdir=/home/nwani/.pyenv/versions/2.7.11/lib' 'LDFLAGS=-L/home/nwani/.pyenv/versions/2.7.11/lib ' 'CPPFLAGS=-I/home/nwani/.pyenv/versions/2.7.11/include '"
Run Code Online (Sandbox Code Playgroud)