Saya menginstal anaconda dengan menjalankan
bash Anaconda-2.2.0-Linux-x86_64.sh
perintah pada sistem Ubuntu 14.04 saya, yang berhasil diinstal, setelah itu saya diminta untuk mengekspor /home/username/anaconda/bin
variabel lingkungan $ PATH saya yang baru .
Saat melakukannya, saya dapat menggunakan semua fitur anaconda termasuk IDE serta menggunakan semua perintah berbasis konda dengan sukses.
Lain kali saya boot sistem saya, setiap perintah salah ketik melihat a
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/local/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Aborted (core dumped)
kesalahan. (Semua perintah kecuali python
spesifik)
Setelah mengikuti beberapa stackexchange dan askubuntu posting dan juga memperhatikan bahwa saya $PYTHONPATH
telah diatur untuk usr/local/lib/python2.7
, saya mencoba
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
tapi itu tidak membantu.
Ini membuat saya membaca seluruh kisah pemindahan paket dan menginstal ulang, dan tentu saja, banyak pembaruan dan peningkatan, untuk mencoba dan memperbaiki masalah sendiri.
conda info -a
pengembalian:
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
LD_LIBRARY_PATH: <not set>
PATH: /home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
PYTHONHOME: <not set>
PYTHONPATH: /usr/local/lib/python2.7:/home/username/anaconda/bin/python
Perintah
which python
kembali
/home/username/anaconda/bin/python
dan
echo "$PATH"
kembali
/home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
Saya tahu ini ada hubungannya dengan cara saya mengatur variabel path, khususnya di ~/.bashrc
mana Anaconda secara otomatis menambahkan folder saya / home / username / anaconda / bin ke $PATH
variabel (Ini terjadi saat instalasi Anaconda kedua setelah saya menghapusnya terlebih dahulu ).
Saya belum mengubah variabel lingkungan lain di salah satu ~/.profile
atau ~/.bashrc
.
Saya menambahkan baris ekspor $ PYTHONPATH ke saya ~/.bashrc
sebelum memulai kembali.
Semua fitur Anaconda bekerja sekarang, meskipun Fatal Python error: Py_Initialize: Unable to get the locale encoding
kesalahan yang sama terus muncul alih-alih kesalahan perintah yang tidak diketahui biasanya, untuk sebagian besar perintah yang salah ketik.
Saya akan terus melihat ini dan mengedit jawaban saya (atau merujuk ke jawaban yang ada, jika ada) segera setelah saya mencari tahu mengapa ini terjadi.
sumber
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Jika saya menghapus baris PYTHONPATH: / home / usrnme / anaconda .. dari my ~ / .bashrc, kesalahan masih akan tetap ada, dan juga tidak ada fitur Anaconda yang berfungsi, sampai saya mengaturnya lagi.Saya telah mengalami masalah serupa dalam beberapa hari terakhir, jadi saya menelusurinya kembali ke bagaimana bash menangani "perintah tidak ditemukan". Di Ubuntu 14.04 (dan Linux Mint 17, yang saya gunakan skrip 14.04), /etc/bash.bashrc memiliki fungsi sebagai berikut:
Namun, / usr / lib / command-not-found telah ditulis ulang untuk Python 3. Ia menangani perintah /etc/bash.bashrc dengan:
Ini memanggil "python3" dari path daripada memberikan path langsung. Untuk memperbaikinya, baris 22 dari / usr / lib / command-not-found harus diubah dari
untuk
Tampaknya ini adalah bug dengan Ubuntu daripada Anaconda. Saya akan memeriksa untuk melihat apakah itu muncul di distribusi nanti.
sumber
Setelah menginstal python3 di lokasi standar dan menyadari bahwa saya memerlukan sudo untuk menggunakannya, saya menginstal secara lokal menggunakan ini di direktori home saya:
Tetapi memiliki lebih banyak kesalahan. Cukup mereset PYTHONPATH di instance Amazon Linux AWS bekerja sangat bagus untuk saya.
sumber
Masalah saya agak berbeda: Sebagai satu pengguna, saya bisa menjalankan
python
, tetapi sebagai pengguna lain, tidak (saya mendapat kesalahan yang sama dengan OP). Akhirnya, saya mengetahui bahwa izin dan kepemilikan dari /usr/lib/python3.5 kacau. Alasan untuk ini adalah bahwa saya telah secara rekursif mengatur izin dan kepemilikan pada virtualenv, yang akhirnya memodifikasi target symlink (targetin / usr/lib/python3.5 ) juga.Kiat: Gunakan
strace python
untuk mencari tahu apa yang terjadi selama Python startup. Ketika saya menggunakanstrace
, saya bisa melihat dengan jelas PERMISSION_DENIED di /usr/lib/python3.5 .sumber
Ini berhasil untuk saya
/programming//a/39097003/823282
sumber
Saya memiliki masalah serupa di windows - Saya menghapus variabel sistem PYTHONHOME. Saya akan mencoba menerjemahkan solusinya ke bahasa Inggris. Komputer Saya> Properti> Pengaturan Sistem Lanjut> Variabel Lingkungan, cari variabel PYTHONHOME dan hapus.
sumber