Làm cách nào để sửa lỗi mô-đun 'nền tảng' không có thuộc tính 'linux_distribution' khi cài đặt các gói mới với Python3.8?


8

Tôi đã có phiên bản Python của 2.7 và 3.5. Tôi muốn cài đặt phiên bản mới hơn của Python là python 3.8. Tôi đang sử dụng Ubuntu 16.04 và tôi không thể gỡ cài đặt Python 3.5 do phụ thuộc. Vì vậy, để chạy các kịch bản của tôi, tôi sử dụng python3.8 app.py. Không có vấn đề cho đến nay. Nhưng khi tôi muốn cài đặt các gói mới thông qua pip:

python3.8 -m pip install pylint

Nó ném một lỗi:

AttributeError: module 'platform' has no attribute 'linux_distribution'

Cho đến nay, tôi đã thử:

sudo update-alternatives --config python3

và chọn python3.8 và chạy lệnh bằng cách bắt đầu với python3 nhưng không gặp may.

Sau đó:

sudo ln -sf /usr/bin/python3.5 /usr/bin/python3

Tôi cũng đã thử chạy lệnh bằng cách bắt đầu với python3 nhưng nó cũng không hoạt động.

Làm cách nào tôi có thể sửa nó để tôi có thể cài đặt các gói mới vào phiên bản Python mới của mình?


2
Có vẻ như pylintchưa được cập nhật để hỗ trợ Python3.8.
Gino Mempin

đã thử gối, scipy, gấu trúc, selenium của họ không. nhưng cài đặt python 3.7 và tất cả đều ổn. Cảm ơn bạn.
EmreAkkoc

4
platform.linux_distributionđã bị xóa trong Python 3.8. Xem: bug.python.org/su28167 , dường như ảnh hưởng đến tập lệnh cài đặt / cài đặt gói. Bạn có thể phải báo cáo sự cố cho các gói tương ứng (hoặc gửi PR để khắc phục sự cố cho chúng).
Gino Mempin

Câu trả lời:


4

Có vẻ như ít nhất trên Ubuntu 16.04 của tôi, pip được chia sẻ cho tất cả các phiên bản Python trong /usr/lib/python3/dist-packages/pip.

Đây là những gì tôi đã làm để làm cho nó hoạt động trở lại:

  • sudo apt remove python3-pip
  • sudo python3.8 -m easy_install pip

Bạn có thể muốn cài đặt lại phiên bản python 3.5 của pip sudo python3.5 -m easy_install pip.


Hoạt động tốt trên Ubuntu 16.04 + python3.8. Cảm ơn!
om2c0de

5

Python 3.8 đã loại bỏ một số thứ. Tôi đã giải quyết vấn đề của mình với pip (cụ thể là cài đặt pip) bằng cách cài đặt pip với curl

Điều làm việc cho tôi là:
cd ~/Downloads
Tải xuống get-pip.py
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
Sau đó chạy nó với python 3.8:
python3.8 get-pip.py

Giải quyết nó cho tôi.

Nguồn: https://pip.pypa.io/en/urdy/installing/


0

Kiểm tra nếu cài đặt bánh xe của bạn là cũ. Tôi đã nhận được lỗi tương tự và sửa nó với

python3.8 -m pip install --upgrade pip setuptools wheel

Pylint dường như hoạt động trên python3.8

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.