2016-05-04 14 views
5

Tôi hiện đang sử dụng Python 2.7, và tôi đang cố gắng để tải một tập tin như thế này:imp.load_source() ném "Không Mô-đun tên" Lỗi Python 2.7

myPlt = imp.load_source('SourceFile', 'path/to/SourceFile.py') 

Tuy nhiên, SourceFile.py nhập khẩu module OtherModule, nằm trong cùng thư mục với SourceFile. Cấu trúc gói trông như thế này:

/path 
.../to 
     ...SourceFile.py 
     ...OtherModule.py 
     ...__init__.py 

Khi tôi chạy load_source, tôi nhận được lỗi "ImportError: Không có mô-đun tên OtherModule"

là gọi load_source của tôi không chính xác? Có một cách thay thế tôi nên đi về nhập khẩu SourceFile?

+0

tải 'OtherModule.py' đầu tiên? – Natecat

+0

Tại sao bạn không tải toàn bộ gói trực tiếp? –

+0

@AnmolSinghJaggi Chắc chắn tôi có thể thử điều đó, nhưng cú pháp đó sẽ là gì? –

Trả lời

0

Hãy thử:

imp.load_source ("thư mục", "thư mục" + "filename.py")

+0

Thật không may là dường như trở về cùng một lỗi .. do đó tôi cần một tập tin __init__.py trong mỗi thư mục trong đường dẫn thư mục? Tôi hiện chỉ có nó trong thư mục với các kịch bản mình –

+0

Không. Bạn không. Chỉ cần rõ ràng, tệp nào đang tải tệp nào? Tôi đã theo ấn tượng OtherModule gọi câu lệnh tải này SourceFile.py ... Nếu họ đang ở trong cùng một thư mục, bạn nên làm imp.load_source (".", "SourceFile.py") Nếu bạn muốn tải SourceFile.py – mattsap

Các vấn đề liên quan