Perintah python
membuka lingkungan Python 2.7.6. Jika saya ingin menafsirkan skrip Python 3, saya perlu menulis ulang perintah python3
.
Saya baru saja menginstal paket numpy . Untuk menguji instalasi yang berhasil, saya menjalankan perintah import numpy
. Ini bekerja dengan baik saat menggunakan python
perintah. Namun, python3
tidak menemukan paket.
Bagaimana ini mungkin? Apakah kedua perintah ini menggunakan variabel jalur yang berbeda ? Bagaimana saya bisa mengubah perilaku?
Jawaban:
Anda memang benar, mereka menggunakan
PYTHONPATH
s yang berbeda .Anda dapat menganggap Python 2.x dan Python 3.x sebagai lingkungan pemrograman yang sama sekali berbeda. Dan ya, mereka menyimpan paket mereka di lokasi yang berbeda.
Agar numpy berfungsi, Anda dapat mengetik:
Jika Anda ingin mencari tahu di mana tepatnya suatu paket disimpan, Anda bisa melihat
__path__
atribut objek modul :Anda juga dapat menginstal
python3-pip
dan menjalankanpip3 install whatever
untuk menginstal paket untuk Python 3 dengan Pip , untuk paket yang tidak tersedia di Ubuntupython3-whatever
.Jika Anda bingung tentang perbedaan antara distutils, setuptools, easy_install, pip dan lainnya, gunakan pip. Itu yang keren. :)
sumber
Tidak, mereka menggunakan hal yang sama
PATH
. Namun, ini masalah tidak denganPATH
.Python 2 dan Python 3 cukup berbeda sehingga paket harus ditulis secara terpisah untuk keduanya. Anda tidak dapat menggunakan paket yang ditulis untuk satu dengan yang lainnya.
Di Ubuntu, modul ini disimpan di lokasi yang berbeda dan dikemas secara terpisah -
python-numpy
untuk Python 2,python3-numpy
untuk Python 3. Jika Anda ingin numpy dengan Python 3, instalpython3-numpy
.sumber
Memang, keduanya mengimpor modul dari lokasi yang berbeda:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
Agar dapat mengimpor
numpy
dengan kedua juru bahasa, pastikan untuk menginstal paket yang sesuai:sudo apt-get install python-numpy
sudo apt-get install python3-numpy
sumber