2016-08-13 9 views
1

pyenv-virtualenvの環境にPythonをインストールするとこの問題が発生します。ImportError numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_AsASCIIStringpyenv経由でPythonをUCS-4としてビルド

私のケースでは、numpyの代わりにmatplotlibパッケージが発生します(上記の質問と同じですが)が、基本的に同じ問題です。

その質問に与えられた答えは簡単です:

は、UCS-4として建てのPythonに対してnumpyのを再構築します。

私はこれを行う方法がわかりません。 this other questionでは、1つが使用すると言われている。

./configure --enable-unicode=ucs4 

が、私はpyenvと一緒にそのコマンドを使用する方法がわかりません。

この問題はpyenvのレポissue listにも記載されています。解決策はa commentです。悲しいことに(私のために)私はコメントに説明されている修正を適用する方法を理解できません。

私の質問は基本的には:pyenv経由でUCS-4としてPythonをビルドするにはどうすればいいですか? ucs2pyenvpythonをインストール

答えて

4

$ 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 '" 

ucs4pyenvpythonのインストール:

$ 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 '" 
+0

は、あなたの答えは非常に明確でわかりやすいです、非常に多くのNehal、ありがとうございました。 – Gabriel

関連する問題