2014-11-24 20 views
5

Tôi đang nhúng python vào ứng dụng C. Tôi đã tải về các trăn tiêu chuẩn và đặt nó tương đối so với chương trình và sử dụng này để liên kết & xây dựng các ứng dụng C.Nhúng Python: Không có mô-đun nào có tên là

Điều này hoạt động tốt trên máy phát của tôi và ứng dụng chạy trên phiên bản python này.

Khi tôi bó lên các ứng dụng và các distro python và triển khai nó, Im nhận được lỗi sau:

ImportError: No module named site 

này có thể được cố định bằng cách thiết lập PYTHONHOME để đường dẫn đến phân phối python này 'địa phương', nhưng Tôi không muốn lộn xộn xung quanh với bất kỳ cài đặt python người dùng có thể đã có, do đó, không muốn đặt biến này.

Bất kỳ ý tưởng nào về cách gói chính xác trình thông dịch python & lib mà không can thiệp vào bất kỳ phiên bản python nào có thể đã có trên máy mục tiêu?

+0

bản sao có thể có của [python ImportError Không có mô đun nào được đặt tên] (http://stackoverflow.com/questions/338768/python-importerror-no-module-named) –

+1

Không, 1: Điều này cụ thể để nhúng và vào trang web .py là thư viện chuẩn (nghĩa là rất khác nhau để không tìm thấy một số mô-đun bên thứ 3), câu hỏi bạn đã liên kết là không. 2: Tôi đã nói cụ thể là tôi không muốn gây rối với PYTHONHOME. – jramm

+3

Nghiêm túc, đôi khi tôi tự hỏi nếu một số người thậm chí không đọc câu hỏi và trùng lặp họ cờ ... Cũng giống như lướt qua tiêu đề ngay, "có một từ giống hệt nhau trong nhóm -> đây phải là một bản sao". Đây không phải là gần như là tương tự ... -.- (và một lá cờ thường làm cho những người sau đây chỉ đồng ý mà không có một cái nhìn gần gũi hơn cả câu hỏi và bản sao bị gắn cờ -> đặc biệt là flagger đầu tiên nên chăm sóc anh ấy đang làm gì vậy...) – mozzbozz

Trả lời

3

Chỉ cần thêm

Py_SetPythonHome(pathToPython); 

trước Py_Initialize gọi. pathToPython phải là đường dẫn đến phân phối python, cho Windows là thư mục chứa các thư mục LibDLLs.

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