ไม่สามารถติดตั้งแพ็กเกจได้เนื่องจาก EnvironmentError: [Errno 13]


96

ในเทอร์มินัล MacOS Mojave ของฉันฉันต้องการติดตั้งแพ็คเกจ python ด้วย pip ในตอนท้ายกล่าวว่า:

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.

ดังนั้นฉันต้องการอัปเดต pip ด้วยคำสั่งที่กำหนด แต่ฉันพบข้อผิดพลาด:

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.

ตอนนี้ไม่เข้าใจจริงๆว่าต้องทำยังไง ฉันรู้ด้วยว่ามันพูดว่า Python 2.7 ในข้อความแสดงข้อผิดพลาด แต่ฉันมีและต้องการใช้เฉพาะ python 3


6
คุณอ่าน: "พิจารณาใช้--userตัวเลือกนี้หรือตรวจสอบสิทธิ์" หรือไม่
Klaus D.

ฉันลองแล้วคุณพูดถูก! ฉันคิดว่ามันจะตรวจสอบสิทธิ์และไม่ให้สิทธิ์ ขอบคุณ!
Adler

2
ในการติดตั้งแพ็คเกจสำหรับ python3 คุณต้องใช้ pip3 ในการอัพเกรด pip เพียงแค่รันเป็น sudo หากคุณพบข้อผิดพลาดในการอนุญาต
BoboDarph


คำตอบ:


148

หากคุณต้องการใช้python3 +เพื่อติดตั้งแพ็คเกจที่คุณต้องใช้pip3 install package_name

และในการแก้errno 13คุณต้องเพิ่ม--userในตอนท้าย

pip3 install package_name --user

แก้ไข:

สำหรับโปรเจ็กต์ใด ๆ ใน python ขอแนะนำอย่างยิ่งให้ทำงานบนสภาพแวดล้อมเสมือนซึ่งเป็นเครื่องมือที่ช่วยให้การอ้างอิงที่จำเป็นสำหรับโปรเจ็กต์ต่างๆแยกจากกันโดยการสร้างสภาพแวดล้อมเสมือน python แบบแยกสำหรับพวกเขา

ในการสร้างด้วยpython3 +คุณต้องใช้คำสั่งต่อไปนี้:

virtualenv enviroment_name -p python3

จากนั้นคุณก็ดำเนินการได้โดยเปิดใช้งาน :

source enviroment_name/bin/activate

เมื่อเปิดใช้งานสภาพแวดล้อมเสมือนชื่อของสภาพแวดล้อมเสมือนของคุณจะปรากฏที่ด้านซ้ายของเทอร์มินัล สิ่งนี้จะแจ้งให้คุณทราบว่าสภาพแวดล้อมเสมือนจริงกำลังทำงานอยู่ pipตอนนี้คุณสามารถติดตั้งการอ้างอิงที่เกี่ยวข้องกับโครงการในสภาพแวดล้อมเสมือนจริงนี้โดยเพียงแค่ใช้

pip install package_name

2
ฉันทำสิ่งนี้แล้ว แต่ฉันยังคงมีปัญหา ฉันติดตั้งกระติกน้ำแล้วแต่ยังหาไม่พบใน Venv ของฉัน ฉันจะทำอะไรได้บ้าง?
Leonard

ลองใช้ Virtualenv -p python3.8 enviroment_name การใช้งาน: Virtualenv [OPTIONS] DEST_DIR
Tommy Gibbons

1
ทำงานได้อย่างสมบูรณ์ ขอบคุณ!
Haardik ธรรมะ

22

เกี่ยวกับคำสั่งสิทธิ์ให้ลองใช้ sudo หน้าคำสั่งเทอร์มินัลของคุณ:

sudo pip install --upgrade pip

Sudo เป็นโปรแกรมที่ให้คุณรันคำสั่งด้วยสิทธิพิเศษของ superuser

เกี่ยวกับ python ลองเรียกใช้ pip เป็นไฟล์ปฏิบัติการดังนี้:

python3.6 -m pip install <package>

5

ฉันทำผิดพลาดเหมือนกันแล้วฉันก็รู้ว่าฉันได้สร้างสภาพแวดล้อมเสมือนของฉันในฐานะผู้ใช้รูท ได้รับการป้องกันการเขียนดังนั้นโปรดตรวจสอบว่าสภาพแวดล้อมเสมือนของคุณได้รับการป้องกันการเขียนหรือไม่ สร้าง venv ใหม่แล้วลองอีกครั้ง


4

ฉันได้รับข้อผิดพลาดเดียวกันนี้เมื่อพยายามติดตั้งแพคเกจ (flask-classful)
ฉันทำผิดพลาดในการติดตั้ง anaconda เป็นรูท ฉันเปลี่ยนความเป็นเจ้าของโฟลเดอร์ anaconda ที่ติดตั้งและสามารถติดตั้งแพ็คเกจได้สำเร็จ

ใช้คำสั่งchownพร้อมตัวเลือก-Rเพื่อเปลี่ยนความเป็นเจ้าของโฟลเดอร์ anaconda ที่ติดตั้งซ้ำดังนี้:

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

เจ้าของนี่คือชื่อผู้ใช้ของคุณและกลุ่มคือชื่อกลุ่ม


3

สำหรับ MacOs & Unix

เพียงแค่เพิ่ม sudo ในคำสั่งก็จะทำงานได้เนื่องจากมันจะเรียกใช้ในฐานะ superuser

sudo pip install --upgrade pip

ขอแนะนำว่าคุณไม่ควรทำโดยตรง - โปรดดูโพสต์นี้


สิ่งนี้ไม่เป็นประโยชน์สำหรับผู้ใช้ Windows เลยและข้อผิดพลาดนี้มักเกิดขึ้นกับผู้ใช้ Windows เนื่องจากสิทธิ์ในการใช้งาน Windows นอกจากนี้คำสั่งควรอยู่ในบล็อกโค้ดเมื่อไม่ได้ทำให้อ่านยาก
logos_164

2

คำตอบอยู่ในข้อความแสดงข้อผิดพลาด ในอดีตคุณหรือกระบวนการทำsudo pipและนั่นทำให้บางไดเรกทอรีภายใต้/Library/Python/2.7/site-packages/...มีสิทธิ์ที่ทำให้ผู้ใช้ปัจจุบันของคุณไม่สามารถเข้าถึงได้

จากนั้นคุณก็pip install whateverอาศัยสิ่งอื่น

ดังนั้นในการแก้ไขให้ไปที่ /Library/Python/2.7/site-packages / ... และค้นหาไดเร็กทอรีที่มีสิทธิ์รูทหรือไม่ใช่ของผู้ใช้ของคุณและลบออกจากนั้นติดตั้งแพ็คเกจเหล่านั้นใหม่หรือเพียงแค่บังคับให้ผู้ใช้เป็นเจ้าของ ผู้ที่ควรเข้าถึง


เรียบง่ายและใช้งานได้จริง ใช้ $ whoami เพื่อให้ทราบว่าคุณเป็นผู้ใช้รายใดในขณะนี้จากนั้น $ sudo chown username /Library/Python/2.7/site-packages/ จากนั้นติดตั้งอะไรก็ได้ ... คุณอาจต้องใช้ chown ซ้ำ
Sunil Kumar

2

ฉันมีปัญหาเดียวกันขณะติดตั้งnumpyกับpip install numpy.

จากนั้นฉันก็พยายาม

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

มันทำงานได้ดีสำหรับฉัน

คำอธิบาย:-H (HOME) ตัวเลือกที่มีsudoชุดสภาพแวดล้อมที่บ้านตัวแปรไดเรกทอรีบ้านของผู้ใช้เป้าหมาย (รากโดยค่าเริ่มต้น) ตามค่าเริ่มต้น sudo จะไม่แก้ไข HOME



1

ฉันได้ลองคำแนะนำทั้งหมดที่โพสต์ไว้ที่นี่แล้ว แต่ฉันยังคงได้รับ errno 13

ฉันใช้ Windows และเวอร์ชัน python ของฉันคือ 3.7.3

หลังจาก 5 ชั่วโมงในการพยายามแก้ปัญหาขั้นตอนนี้ได้ผลสำหรับฉัน:

ฉันพยายามเปิดพรอมต์คำสั่งโดยเรียกใช้ในฐานะผู้ดูแลระบบ


0

ฉันก็มีปัญหาเดียวกันฉันลองใช้บรรทัดคำสั่งต่างๆมากมายอันนี้ใช้ได้กับฉัน:

ลอง:

    conda install py-xgboost

นั่นคือสิ่งที่ฉันได้รับ:

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

0

ลองใช้บรรทัดคำสั่งด้านล่างนี้สำหรับMacOSเพื่อตรวจสอบสิทธิ์ของผู้ใช้

$ sudo python -m pip install --user --upgrade pip

0

ฉันติดตั้ง anaconda สำหรับ Python 3 แล้วฉันมี Python2 ในเครื่อง Mac ด้วย

python --version

ให้ฉัน

Python 3.7.3

python2.7 --version

ให้ฉัน

Python 2.7.10

ฉันต้องการติดตั้งแพ็คเกจ pyspark ใน python2 เนื่องจากได้ติดตั้งใน python3 แล้ว

python2.7 -m pip install pyspark

ทำให้ฉันมีข้อผิดพลาด

ไม่สามารถติดตั้งแพ็กเกจได้เนื่องจาก EnvironmentError: [Errno 13] การอนุญาตถูกปฏิเสธ: '/Library/Python/2.7/site-packages/pyspark' ลองใช้--userตัวเลือกนี้หรือตรวจสอบสิทธิ์

คำสั่งด้านล่างแก้ไขได้ ขอบคุณพระเจ้าที่ฉันไม่ต้องทำการเปลี่ยนแปลงการกำหนดค่าใด ๆ

python2.7 -m pip install pyspark --user

การรวบรวมข้อกำหนดของ pyspark เป็นที่พอใจแล้ว: py4j == 0.10.7 ใน /Library/Python/2.7/site-packages (จาก pyspark) (0.10.7) การติดตั้งแพ็กเกจที่รวบรวม: pyspark ติดตั้ง pyspark-2.4.4 เรียบร้อยแล้วคุณกำลังใช้ pip เวอร์ชัน 18.1 อย่างไรก็ตามเวอร์ชัน 19.3.1 พร้อมใช้งาน คุณควรพิจารณาอัพเกรดผ่านคำสั่ง 'pip install --upgrade pip'


0

ฉันมีปัญหาคล้ายกันใน venv บนพาร์ติชัน NTFS ที่ติดตั้งบน linux พร้อมสิทธิ์ที่ถูกต้องทั้งหมด ตรวจสอบให้แน่ใจว่า pip ทำงานโดยมี- ติดตั้งไม่ติดตั้งแก้ไขได้เช่น

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


0

บน Mac ไม่มี3.7ไดเรกทอรีหรือไดเรกทอรีเป็นเจ้าของโดย3.7 rootดังนั้นฉันจึงลบไดเร็กทอรีนั้นออกสร้างไดเร็กทอรีใหม่โดยผู้ใช้ปัจจุบันและย้ายไปที่นั่น จากนั้นการติดตั้งจะเสร็จสิ้นโดยไม่มีข้อผิดพลาด

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

0

สิ่งนี้เกิดขึ้นกับฉันด้วยเมื่อฉันพยายามติดตั้งopencv-pythonแพ็คเกจ:

ความพยายามในการติดตั้ง

ฉันสามารถแก้ไขได้ด้วยบรรทัดคำสั่ง

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

เมื่อฉันพยายามติดตั้งแพ็คเกจดังกล่าวคำสั่งจะกลายเป็น:

python3 -m pip install opencv-python --user

ส่งผลให้เกิดสิ่งนี้:

ผลลัพธ์


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.