新しく構築したコンピューターに、新しくインストールしたUbuntuがあります。 apt-getを使用してpython-pipをインストールしました。 NumpyとPandasをpipインストールしようとすると、次のエラーが発生します。
このエラーはSOとGoogleのかなりの場所で言及されていますが、解決策を見つけることができませんでした。バグだと言う人もいれば、スレッドが死んだだけの人もいます。
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128)
私は最近、この正確な問題を抱えて使用しました
apt-get install python-numpy
これにより、numpyがシステムpythonインタープリターに追加されます。 matplotlibでも同じことをしなければならなかったかもしれません。 virtualenvで使用するには、環境を作成する必要があります
--system-site-packages
オプション
私にとっては、@ Charles Duffyのコメントで解決しました。これをenvに入れてください:
LC_ALL=C
次のような行を使用して、.bashrcに追加できます。
export LC_ALL=C
ただし、他のすべてのプログラムに影響を与えることに注意してください。したがって、あなたはピップ実行のためだけにそれを使用したいかもしれません:
$ LC_ALL=C pip install ...
Pipを更新してみてください:
pip install -U pip
Matplotlibパッケージで問題が発生しました。私は実行しなければなりませんでした:
export LC_ALL=C
pip install --upgrade setuptools
私にとってこれは、(おそらく)破損したキャッシュを無視することで解決しました。
pip install --no-cache-dir ...
ここに記載されているとおり: https://github.com/pypa/pip/issues/2674
pip install pandas
の実行時に同様のエラーが発生しましたが、これはメモリ不足が原因でした。仮想マシンのメモリを4Gに増やすと、問題は解決しました。
の組み合わせ
Sudo apt-get install python-dev
そして
export LC_ALL=C
pip install --upgrade setuptools
私の問題を解決しました。
最近、私は同じ問題に出くわしましたこれは私のためにそれを解決しました:
echo 'export LANG=en_US.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE=en_US:en' >> ~/.bashrc
echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc
Sudo apt-get install language-pack-en
注意、
Python-numpyとpython-devがすでにインストールされています。これでさえ、システムに問題を引き起こす可能性があります。 en_US.UTF-8(または他の言語)の代わりにLC_ALL = Cをエクスポートすることもできます
「site-packages」ディレクトリで、「sitecustomize.py」を次のように作成します
import sys
sys.setdefaultencoding("utf-8")
これで、ファイル「pip.log」を取得できます
@OSXユーザー:~/.profile
または~/.bashrc
に次の行を追加します
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
source ~/.profile
またはsource ~/.bashrc
を使用してスクリプトを実行します
Dockerコンテナで実行する場合、これにより修正されました(プロジェクトDjango-postgrespoolですが、ここでも機能するはずです)。
# Set the locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
Sudo apt-get install python-numpy
を試してください。それは私のためにうまくいき、同じものをnumpyの代わりに置き換えることでscipy、pandasなどに使用することができます。 (Y)
UbuntuのJetson TK1でも同様の問題がありました。
apt-get install python-pandas
で正常に動作します
マシンの地域の設定を予期したものにリセットすると、問題が解決しました。私にとっては、言語設定を英語(インド)に切り替えたときに問題が始まりました。英語(イギリス)に戻す必要がありました。
私の場合、ソースからPythonをインストールしました(私はSudo
ではないリモートマシンに)。なんらかの理由で、pip
は古いバージョンでした。だから後:
python -m pip install --upgrade pip
numpy
および必要なものすべてを問題なくインストールできました。
Numpyのpipバージョンが必要な場合は、パッケージの依存関係を構築してから、pipを使用してインストールできます
Sudo apt-get build-dep python-numpy
pip install numpy
これにより、パッケージをインストールするためにシステムレベルで必要なすべてがインストールされます。
同様の問題に出会いました。私は試した:
export LC_ALL=C
pip install --upgrade setuptools
しかし、問題は解決しませんでしたが、別のエラーが発生しました:
AttributeError: 'str'オブジェクトには属性 'rollback'がありません
それから私は試しました:
pip install -U pip
その後、問題は解決しました。
明らかに他の人のために働いたものもありましたが、私にとっては多くの答えがあり、どれも私にとってはうまくいきませんでした。しかし、その後、私の問題が何であるかを把握したので、それをコレクションに追加します。
dpkg-reconfigure locales
# enable the "en-US.UTF-8" locale
# when asked for a default, no need to define one
問題は、たぶん最小限のストックイメージをダウンロードしたため、UTF-8ロケールがインストールされていないDebian Stretch linuxコンテナ内で作業していたことです。このUTF-8ロケールがインストールされると、pipはnumpyおよびその他のパッケージを適切にインストールしました。