Pip không hoạt động: ImportError: Không có mô-đun có tên 'pip._iternal'


62

Chạy piphoặc pip3kết quả với:

Traceback (most recent call last):
File "/home/myuser/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'

Tôi gặp vấn đề với điều này và đã gỡ cài đặt pip3, nhưng khi tôi cố gắng cài đặt lại bằng cách sử dụng

sudo apt-get -y install python3-pip

Nó không cài đặt, nhưng sau đó chạy pip hoặc pip3 tôi cũng gặp lỗi tương tự.

#which pip3
/home/myuser/.local/bin/pip3

2
Tôi gặp vấn đề tương tự sau khi nâng cấp từ pip 9.0.2 lên pip-10.0.0. Ubuntu 16.04LTS tại đây.
Dave

2
Bạn không nên nâng cấp lên pip 10 trên Ubuntu, vì phiên bản hệ thống được cài đặt qua apt được sửa đổi theo cách không tương thích với pip 10. Xem github.com/pypa/pip/issues/5221 @Dave
Byte Commander

macOS 10.13.4, vấn đề tương tự sau khi nâng cấp lên pip 10
Benjamin R

1
Giải pháp tạm thời:python3 -m pip install --user <package>
Benjamin R

1
nếu bạn có easy_install(đến từ python-setuptoolsgói), bạn có thể làm sudo easy_install pip(hoặc chỉ sudo easy_install3 pipdành cho python3, v.v.)
Marek Sebera

Câu trả lời:


115

Sau khi nâng cấp pip(hoặc pip3, trong trường hợp này) nếu xảy ra trường hợp sau:

$ ~ pip3 -V
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

Buộc cài đặt lại pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

Xác minh cài đặt:

$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

Bây giờ pip3 install <package>pip3 install --user <package>(đối với cài đặt ở cấp độ người dùng) sẽ hoạt động chính xác.

Không bao giờ nên có bất kỳ lý do nào bạn cần chạy pip ở chế độ nâng cao.

(lưu ý: Đối với Python 2.7, chỉ cần thay thế pythoncho python3pipcho pip3)

Cũng có vấn đề tương tự trên macOS, đó là một vấn đề phổ biến trên các nền tảng.


1
cũng hoạt động tốt cho quả mâm xôi
gtatr

1
bạn, thưa ngài, là một anh hùng có vấn đề này trên solus và nó hoạt động như một bùa mê.
cirrusio

1
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip3'
endolith

1
@endolith Được rồi, bây giờ bạn muốn sử dụng sudo rm -rf /usr/bin/pip3- thanh lọc thư mục hiện có trước, sau đó cài đặt từ đầu. Đó là một vấn đề về quyền trên thư mục đó, nhưng tốt hơn hết là tôi nên thiết lập lại trong những trường hợp này, bạn luôn có thể dễ dàng cài đặt lại bất cứ gói nào bạn mất lần nữa. Nếu điều đó không hiệu quả, hãy cài đặt Python 3 của bạn, sau đó khởi động lại.
Benjamin R

1
@endolith Xin chào, nó phụ thuộc vào hệ điều hành của bạn (và bản phân phối, nếu Linux) là gì. Hãy cho tôi biết và tôi sẽ cố gắng chỉ cho bạn đi đúng hướng. ps Tất cả chúng ta đã ở vị trí của bạn nhiều lần hơn hầu hết chúng ta muốn thừa nhận :)
Benjamin R


10

Tôi đã giải quyết điều này bằng cách cập nhật pip thông qua Python, như thế này:

python2 -m pip install --user --upgrade pip

python3 -m pip install --user --upgrade pip


1
đơn giản và ngọt ngào
lasec0203

2

Tôi gặp vấn đề tương tự như bạn vừa nãy, tôi thấy lý do là bạn đang làm việc mà không có đặc quyền siêu người dùng vì một số gói hoặc mô-đun python nội bộ được cài đặt theo đặc quyền siêu người dùng.

Vì vậy, bạn có thể thử bằng cách nhập vào nắm tay sudo su, sau đó nhập mật khẩu của bạn và chạy pip install, nó có thể giúp ích.


3
Bạn không bao giờ nên chạy pipvới quyền nâng cao. Sử dụng --usercờ thay thế, như trong:pip3 install --user <package>
Benjamin R

1
Tuy nhiên, khi tôi chạy mà không có sự cho phép của siêu người dùng, tôi vẫn nhận được thông tin như TracBack (cuộc gọi gần đây nhất): Tệp "/ usr / local / bin / pip3", dòng 7, trong <module> \\ từ pip._iternal nhập chính ImportError: Không có mô-đun nào có tên 'pip._iternal' Bạn có thể vui lòng giúp tôi tìm hiểu tại sao điều này luôn xảy ra không? pip3 install --user
Yuke

2
Ok, tôi đã tìm ra lý do tại sao, nếu from pip._internal import mainxảy ra lỗi, trong giải pháp của tôi, 1) curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2) python3 get-pip.py --user --force-reinstall, và sau đó bạn có thể chạy pipmà không cần sự cho phép của siêu người dùng, Cảm ơn bạn rất nhiều vì lời khuyên của bạn , nó giúp ích rất nhiều!
Yuke

Hân hạnh! Hãy nhìn xem, tôi đã học được một cách khó khăn để cẩn thận khi sử dụng sudowilly-nilly (đã phá hủy hệ điều hành của tôi nhiều lần!)
Benjamin R


2

Áp dụng ba bước sau:

  1. Đi đến /usr/local/binbằng thiết bị đầu cuối
  2. Thi hành, hành hình sudo gedit pip
  3. Thay đổi from pip._internal import mainthành from pip import main.

1

Kiểm tra xem pip đã được cài đặt chưa

pip3 -V 

hoặc là

pip3 --version

Nếu không sử dụng lệnh này để cài đặt nó:

sudo apt install python3-pip

Bây giờ bạn có thể sử dụng

python3 -m pip install packageName

để cài đặt gói bằng cách sử dụng pip.


Đây là những gì OP đã đồng.
Nik O'Lai

0

Phiên bản pip bây giờ là 19.0.1:

which pip3
#/home/xxx/.local/bin/pip3
vim /home/xxx/.local/bin/pip3

Đổi from pip._internal import mainthànhfrom pip import main

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.