Tôi đã có một gói thiết lập như sau:Python: Vấn đề với module địa phương shadowing module toàn cầu
packagename/
__init__.py
numbers.py
tools.py
...other stuff
Bây giờ bên tools.py
, tôi đang cố gắng để nhập khẩu các module thư viện chuẩn fractions
. Tuy nhiên, mô-đun fractions
tự nhập khẩu mô-đun numbers
, được cho là một trong thư viện chuẩn.
Vấn đề là nó cố gắng nhập numbers
module từ gói của tôi thay vì (tức là tôi numbers.py
được shadowing module stdlib numbers
), và sau đó phàn nàn về nó, thay vì nhập khẩu các mô-đun stdlib.
Câu hỏi của tôi là, có giải pháp thay thế để tôi có thể giữ cấu trúc hiện tại của gói của mình hay không hoặc là giải pháp duy nhất để đổi tên mô-đun vi phạm của riêng tôi (numbers.py
)?
Xin lỗi, nên đã đọc TFQ triệt để hơn. Dù sao, tôi đang cố gắng để tái tạo vấn đề bây giờ, nhưng tôi không thể. Làm thế nào để bạn thực thi mã khi lỗi xảy ra? Tôi chỉ có thể tái tạo nó khi tôi đang chạy mã từ bên trong gói. –