2012-12-16 42 views
9

Tôi đang cố gắng biên dịch chương trình python và tôi đang sử dụng python 3.2. Vì vậy, tôi đã tải xuống cx_freeze và cài đặt nó. Khi tôi cố gắng chạy setup.py trong cmd nó nói:Tại sao tôi nhận được lỗi "không có mô-đun có tên cx_Freeze" sau khi cài đặt cx_freeze?

"importerror: no module named cx_freeze" 

Tôi đã gỡ bỏ cx_freeze và cố gắng để cài đặt lại nó, lần này tuy nhiên, trong "chọn vị trí nơi cx_freeze nên được cài đặt " một phần của tiến trình cài đặt tôi đã chọn python từ sổ đăng ký (đó là tất cả những gì tôi đã làm trước đó) và cũng đã chọn " python từ một vị trí khác " (và chọn thư mục C: \ python32 \). Sau đó, tôi đã nhận lỗi này:

"There is a problum with this windows installation package. a program required for this install to complete could not be run." 

lưu ý: trong file setup.py của tôi là như sau:

from cx_freeze import * 

Setup(
    name = "", 
    version ="0.1", 
    description ="", 
    executables = [Executable("")] , 
)  
+2

Bạn đang nhận được các chữ cái viết hoa của bạn hỗn hợp: thử với 'cx_Freeze' và' setup() '. Tôi không biết nếu đó là vấn đề, mặc dù, bởi vì tôi nghĩ rằng tải các mô-đun trên Windows là trường hợp không nhạy cảm. –

+0

Tôi chỉ cố gắng tải cx_Freeze trên Windows 7 64-bit bằng cách sử dụng 'cx_freeze' tuy nhiên điều duy nhất làm việc là với vốn' cx_Freeze'. – AER

Trả lời

15

Cuối cùng tìm thấy giải pháp cho vấn đề này! Đã thử hai ngày và một người bạn lập trình đã giúp tôi (tôi không phải là lập trình viên).

Vì vậy, khi bạn nhập "python setup.py build" vào cmd, những gì nó cố gắng làm là tìm python.exe trong thư mục bạn đang ở, và nếu nó không tìm thấy nó ở đó thì sẽ đường dẫn hệ thống (mà bạn có thể truy cập bằng lệnh "echo% PATH%").

Vì vậy, nó trông ở đó, nó tìm thấy python và chạy nó - nhưng python không có cx_Freeze. Tại sao? Bởi vì con trăn trong đường dẫn hệ thống là một phiên bản cũ hơn bạn có !! Đối với tôi nó là 2.6.5, mặc dù tôi sử dụng 3.3. Và phiên bản cũ này tự nhiên không có cx_Freeze trong nó vì tôi đã cài đặt nó lên 3.3. Điều này cũng giải thích tại sao thử "import cx_Freeze" trong IDLE hoạt động mà không có vấn đề gì.

Để xem phiên bản nào của python cmd đang gọi, chỉ nhập "python" trong cmd và nó sẽ hiển thị cho bạn.

Ok, vì vậy giải pháp nhanh chóng là chỉ cần thêm đường dẫn tuyệt đối đầy đủ dẫn đến python.exe mong muốn. Đối với python 3.3, đó là:

c:\python33\python setup.py build 

Giải pháp dài hạn là thêm python 3.3 vào đường dẫn hệ thống của bạn. Tôi đã không tự mình làm, nhưng đây phải là thông tin về cách làm điều đó http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx

Đó là câu trả lời muộn, nhưng tôi hy vọng điều này ít nhất sẽ giúp người khác. Hãy thưởng thức cx_Freeze

+0

Nếu bạn đang sử dụng python3 có lẽ "pip3" và "python3" nằm trong đường dẫn của bạn? Nếu vậy "pip3 install cx_freeze" sẽ cài đặt nó vào môi trường python3 của bạn và "python3 setup.py build" sẽ hoạt động? – thoni56

+0

Đây cũng là trường hợp trên Arch ... 'python2' thay vì chỉ' python' –

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