Tidak dapat menginstal paket karena EnvironmentError: [Errno 13]

96

Di terminal MacOS Mojave saya, saya ingin menginstal paket python dengan pip. Pada akhirnya tertulis:

You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Jadi saya ingin memperbarui pip dengan perintah yang diberikan tetapi saya mendapat kesalahan:

Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.

Saya tidak begitu mengerti apa yang harus saya lakukan sekarang. Saya juga menyadari itu mengatakan Python 2.7 dalam pesan kesalahan tetapi saya memiliki dan ingin menggunakan hanya python 3.

Adler
sumber
6
Apakah Anda membaca: "Pertimbangkan untuk menggunakan --useropsi atau periksa izin."?
Klaus D.
Saya baru saja mencobanya, Anda benar! Saya pikir itu akan MEMERIKSA izin dan tidak MEMBERIKAN izin. Terima kasih!
Adler
2
Untuk menginstal paket untuk python3 Anda perlu menggunakan pip3. Untuk memutakhirkan pip, jalankan saja sebagai sudo jika Anda mengalami kesalahan izin.
BoboDarph
Kemungkinan duplikat dari pip install -r: OSError: [Errno 13] Izin ditolak
phd

Jawaban:

149

Jika Anda ingin menggunakan python3 + untuk menginstal paket yang perlu Anda gunakanpip3 install package_name

Dan untuk menyelesaikan errno 13 Anda harus menambahkan --userdi bagian akhir

pip3 install package_name --user

EDIT:

Untuk proyek apa pun di python, sangat disarankan untuk bekerja di lingkungan Virtual , adalah alat yang membantu menjaga dependensi yang diperlukan oleh berbagai proyek terpisah dengan membuat lingkungan virtual python yang terisolasi untuk mereka.

Untuk membuatnya dengan python3 + Anda harus menggunakan perintah berikut:

virtualenv enviroment_name -p python3

Dan kemudian Anda mengerjakannya hanya dengan mengaktifkannya :

source enviroment_name/bin/activate

Setelah lingkungan virtual diaktifkan, nama lingkungan virtual Anda akan muncul di sisi kiri terminal. Ini akan memberi tahu Anda bahwa lingkungan virtual saat ini aktif. Sekarang Anda dapat menginstal dependensi yang terkait dengan proyek di lingkungan virtual ini hanya dengan menggunakan pip.

pip install package_name
Gonzalo Garcia
sumber
2
Saya melakukan ini tetapi saya masih mengalami masalah. Saya telah menginstal flask tetapi masih tidak dapat ditemukan di dalam venv saya. Apa yang dapat saya?
Leonard
Coba virtualenv -p python3.8 enviroment_name Penggunaan: virtualenv [OPTIONS] DEST_DIR
Tommy Gibbons
1
Bekerja dengan sempurna. Terima kasih!
Haardik Dharma
22

Mengenai perintah izin, coba gunakan sudo di depan perintah terminal Anda:

sudo pip install --upgrade pip

Sudo adalah program yang memungkinkan Anda menjalankan perintah dengan hak istimewa pengguna super.

Mengenai python Coba jalankan pip sebagai executable seperti ini:

python3.6 -m pip install <package>
Dominique Paul
sumber
5

Saya membuat kesalahan yang sama kemudian saya menyadari bahwa saya telah menciptakan lingkungan virtual saya sebagai pengguna root. Itu dilindungi dari penulisan, jadi harap periksa apakah lingkungan virtual Anda dilindungi dari penulisan. buat venv baru dan coba lagi

Sheetala Prasad Tiwari
sumber
4

Saya mendapatkan kesalahan yang sama ketika saya mencoba menginstal sebuah paket (flask-classful).
Saya membuat kesalahan dengan memasang anaconda sebagai root. Saya mengubah kepemilikan folder anaconda yang diinstal dan saya dapat menginstal paket dengan sukses.

Gunakan perintah chowndengan opsi -Runtuk mengubah kepemilikan folder anaconda yang diinstal secara rekursif seperti:

chown -R owner:group /path/to/anaconda

Di sini pemilik adalah nama pengguna Anda dan grup adalah nama grup.

sherminator35
sumber
3

Untuk MacOs & Unix

Hanya dengan menambahkan sudo ke perintah akan berfungsi, karena akan menjalankannya sebagai pengguna super.

sudo pip install --upgrade pip

Disarankan agar Anda tidak melakukannya secara langsung - silakan lihat posting ini

Rohit Kumar
sumber
Ini sama sekali tidak membantu pengguna Windows, dan kesalahan ini lebih umum terjadi pada pengguna Windows karena izin operasi Windows. Selain itu, perintah harus disertakan dalam blok kode, jika tidak, maka akan sulit untuk dibaca
logos_164
2

Jawabannya ada di pesan kesalahan. Di masa lalu Anda atau suatu proses melakukan sudo pipdan itu menyebabkan beberapa direktori di bawah /Library/Python/2.7/site-packages/...memiliki izin yang membuatnya tidak dapat diakses oleh pengguna Anda saat ini.

Kemudian Anda melakukan hal pip install whateveryang bergantung pada hal lain.

Jadi untuk memperbaikinya, kunjungi /Library/Python/2.7/site-packages / ... dan temukan direktori dengan izin root atau bukan-pengguna-Anda dan hapus lalu instal ulang paket-paket itu, atau cukup paksa kepemilikan kepada pengguna kepada siapa yang seharusnya memiliki akses.

Eric Leschinski
sumber
sederhana dan bekerja. gunakan $ whoami untuk mengetahui pengguna mana Anda saat ini $ sudo chown username /Library/Python/2.7/site-packages/ lalu pip install apa saja ... Anda mungkin harus menggunakan chown secara rekursif
Sunil Kumar
2

Saya mengalami masalah yang sama saat menginstal numpydengan pip install numpy.

Lalu saya coba

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

Ini bekerja dengan baik untuk saya.

Penjelasan: Opsi -H(HOME) dengan sudomenetapkan variabel lingkungan HOME ke direktori home dari pengguna target (root secara default). Secara default, sudo tidak mengubah HOME.

Jenius
sumber
1

Saya sudah mencoba semua saran yang diposting di sini, namun saya masih mendapatkan errno 13,

Saya menggunakan Windows dan versi python saya adalah 3.7.3

Setelah 5 jam mencoba menyelesaikannya, langkah ini berhasil untuk saya:

Saya mencoba membuka command prompt dengan menjalankan sebagai administrator

nrmzmh
sumber
0

Saya juga mengalami masalah yang sama, saya mencoba banyak baris perintah yang berbeda, yang ini berhasil untuk saya:

Mencoba:

    conda install py-xgboost

Itulah yang saya dapatkan:

Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: /home/simplonco/anaconda3

  added / updated specs:
    - py-xgboost


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _py-xgboost-mutex-2.0      |            cpu_0           9 KB
    ca-certificates-2019.1.23  |                0         126 KB
    certifi-2018.11.29         |           py37_0         146 KB
    conda-4.6.2                |           py37_0         1.7 MB
    libxgboost-0.80            |       he6710b0_0         3.7 MB
    mkl-2019.1                 |              144       204.6 MB
    mkl_fft-1.0.10             |   py37ha843d7b_0         169 KB
    mkl_random-1.0.2           |   py37hd81dba3_0         405 KB
    numpy-1.15.4               |   py37h7e9f1db_0          47 KB
    numpy-base-1.15.4          |   py37hde5b4d6_0         4.2 MB
    py-xgboost-0.80            |   py37he6710b0_0         1.7 MB
    scikit-learn-0.20.2        |   py37hd81dba3_0         5.7 MB
    scipy-1.2.0                |   py37h7c811a0_0        17.7 MB
    ------------------------------------------------------------
                                           Total:       240.0 MB

The following NEW packages will be INSTALLED:

  _py-xgboost-mutex  pkgs/main/linux-64::_py-xgboost-mutex-2.0-cpu_0
  libxgboost         pkgs/main/linux-64::libxgboost-0.80-he6710b0_0
  py-xgboost         pkgs/main/linux-64::py-xgboost-0.80-py37he6710b0_0

The following packages will be UPDATED:

  ca-certificates     anaconda::ca-certificates-2018.12.5-0 --> pkgs/main::ca-certificates-2019.1.23-0
  mkl                                            2019.0-118 --> 2019.1-144
  mkl_fft                              1.0.4-py37h4414c95_1 --> 1.0.10-py37ha843d7b_0
  mkl_random                           1.0.1-py37h4414c95_1 --> 1.0.2-py37hd81dba3_0
  numpy                               1.15.1-py37h1d66e8a_0 --> 1.15.4-py37h7e9f1db_0
  numpy-base                          1.15.1-py37h81de0dd_0 --> 1.15.4-py37hde5b4d6_0
  scikit-learn                        0.19.2-py37h4989274_0 --> 0.20.2-py37hd81dba3_0
  scipy                                1.1.0-py37hfa4b5c9_1 --> 1.2.0-py37h7c811a0_0

The following packages will be SUPERSEDED by a higher-priority channel:

  certifi                                          anaconda --> pkgs/main
  conda                                            anaconda --> pkgs/main
  openssl                anaconda::openssl-1.1.1-h7b6447c_0 --> pkgs/main::openssl-1.1.1a-h7b6447c_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
libxgboost-0.80      | 3.7 MB    | ##################################### | 100% 
mkl_random-1.0.2     | 405 KB    | ##################################### | 100% 
certifi-2018.11.29   | 146 KB    | ##################################### | 100% 
ca-certificates-2019 | 126 KB    | ##################################### | 100% 
conda-4.6.2          | 1.7 MB    | ##################################### | 100% 
mkl-2019.1           | 204.6 MB  | ##################################### | 100% 
mkl_fft-1.0.10       | 169 KB    | ##################################### | 100% 
numpy-1.15.4         | 47 KB     | ##################################### | 100% 
scipy-1.2.0          | 17.7 MB   | ##################################### | 100% 
scikit-learn-0.20.2  | 5.7 MB    | ##################################### | 100% 
py-xgboost-0.80      | 1.7 MB    | ##################################### | 100% 
_py-xgboost-mutex-2. | 9 KB      | ##################################### | 100% 
numpy-base-1.15.4    | 4.2 MB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Psybelo
sumber
0

coba baris perintah di bawah ini untuk MacOS untuk memeriksa izin pengguna.

$ sudo python -m pip install --user --upgrade pip
An Nguyen
sumber
0

Saya memiliki anaconda terinstal untuk Python 3. Saya juga memiliki Python2 di mac saya.

python --version

berikan padaku

Python 3.7.3

python2.7 --version

berikan padaku

Python 2.7.10

Saya ingin menginstal paket pyspark di python2, mengingat sudah diinstal di python3.

python2.7 -m pip install pyspark

memberi saya kesalahan

Tidak dapat menginstal paket karena EnvironmentError: [Errno 13] Izin ditolak: '/Library/Python/2.7/site-packages/pyspark' Pertimbangkan untuk menggunakan --useropsi atau periksa izin.

Perintah di bawah menyelesaikannya. Terima kasih Tuhan, saya tidak perlu melakukan perubahan konfigurasi apa pun.

python2.7 -m pip install pyspark --user

Mengumpulkan pyspark Persyaratan sudah terpenuhi: py4j == 0.10.7 di /Library/Python/2.7/site-packages (dari pyspark) (0.10.7) Menginstal paket yang dikumpulkan: pyspark Berhasil menginstal pyspark-2.4.4 Anda menggunakan pip versi 18.1 , namun versi 19.3.1 tersedia. Anda harus mempertimbangkan untuk mengupgrade melalui perintah 'pip install --upgrade pip'.

karthi190
sumber
0

Saya mengalami masalah yang sama di venv pada partisi NTFS yang terpasang di linux dengan semua izin yang tepat. Memastikan pip dijalankan dengan --ignore-diinstal menyelesaikannya, yaitu:

python -m pip install --upgrade --ignore-installed

kelayakan
sumber
0

Di Mac, tidak ada 3.7direktori atau direktori 3.7yang dimiliki oleh root. Jadi, saya menghapus direktori itu, membuat direktori baru oleh pengguna saat ini, dan memindahkannya ke sana. Kemudian penginstalan selesai tanpa kesalahan.

sudo rm -rf /Library/Python/3.7
mkdir 3.7
sudo mv 3.7 /Library/Python
ll /Library/Python/
pip3 install numpy
zhongxiao37
sumber
0

Ini juga terjadi pada saya ketika saya mencoba menginstal opencv-pythonpaket:

upaya instalasi

Saya bisa memperbaikinya dengan baris perintah

python3 -m pip install {name of package} --user

Ketika saya mencoba menginstal paket tersebut, perintahnya menjadi:

python3 -m pip install opencv-python --user

Menghasilkan ini:

hasil

Ashadi Sedana Pratama
sumber
-7

hanya sudo pip install packagename

XHFKA
sumber