ImportError: Không có mô-đun có tên dựng sẵn


8

Tôi đang chuyển ứng dụng python của mình từ python 2 sang python 3. Vì python-3 cung cấp tiện ích 2to3chuyển đổi mã python-2 thành python-3. import builtins đưa ra lỗi như

ImportError: No module named builtins

Bất kỳ ý tưởng để khắc phục vấn đề này?

Câu trả lời:


10

Đã giải quyết một lỗi tương tự trong một tình huống riêng biệt bằng cách cài đặt gói future.

sudo pip install future

Không rõ lỗi của bạn xảy ra khi chạy 2to3 hay khi cố chạy mã kết quả. Nếu đó là khi chạy 2to3 thì có khả năng là vì nó thực sự đang sử dụng python2(mặc định) và do đó nếu bạn chưa cài đặt futurethì builtinssẽ bị thiếu. Tương tự như vậy nếu bạn đang cố chạy mã kết quả với python2cùng một lỗi có thể xảy ra.


2

Công 2to3cụ tạo mã tương thích chỉ với Python 3.

Bạn có thể thấy điều đó bởi vì bạn đang chạy mã được chuyển đổi trong Python 2.

Nếu bạn muốn mã của mình tương thích với Python 2 và 3, bạn có thể thực hiện việc này thay thế:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins
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.