này được đưa ra khá một vài lần trên danh sách cx_Freeze gửi thưDi chuyển tất cả các DLL và PYD đến một thư mục con với cx_Freeze
(xem
cx_Freeze and moving files around
Creating fewer files when freezing a Python application
cx_freeze python single file? )
và dường như tôi thích nó phải là một bản sửa lỗi đơn giản, nhưng tôi không thể thấy cách bắt đầu.
Tôi có ứng dụng python phụ thuộc vào scipy, wxpython, gumpy và một loạt các gói khác mà mỗi gói có rất nhiều thư viện được liên kết động. Thư mục thực thi chính được rất lộn xộn với các tệp PYD và DLL và thật khó để tìm thấy tệp thực thi trong tất cả các tệp. Người dùng của tôi không đặc biệt hiểu biết về máy tính, vì vậy sự rõ ràng là rất quan trọng.
Tôi không yêu cầu một tệp thực thi duy nhất như về mặt lý thuyết có thể được tạo bởi bbfreeze. Tôi thích cách các tập tin setup.py của distutils làm việc với cx_Freeze và theo cách khác cx_Freeze là khá nhiều rực rỡ.
Tất cả những gì tôi muốn là cách dọn dẹp thư mục thực thi chính. Tôi sẽ hoàn toàn hài lòng với việc di chuyển các tệp DLL theo cách thủ công vào một thư mục freeze_libs hoặc một cái gì đó và sau đó nhích đường dẫn tải thư viện được chia sẻ để giúp nó tìm các thư viện động nếu có thể. Hay đại loại thế.
Cảm ơn
Hãy xem [ConsoleSetLibPath] (https://bitbucket.org/anthony_tuininga/cx_freeze/src/default/cx_Freeze/initscripts/ConsoleSetLibPath.py) initscript. Nó sẽ có thể tinh chỉnh đó để tìm các thư viện trong một thư mục con. –
Bạn sử dụng bản initcript đó như thế nào? Có vẻ rất hứa hẹn nhưng tôi không thấy cách tích hợp nó. – ibell
Nếu bạn đang sử dụng tập lệnh setup.py, hãy chỉ định tùy chọn 'init_script' cho' build_exe' ([docs] (http://cx-freeze.readthedocs.org/en/latest/distutils.html # build-exe)). Hoặc nếu bạn đang sử dụng lệnh 'cxfreeze', có [--init-script flag] (http://cx-freeze.readthedocs.org/en/latest/script.html#cmdoption--init-script) . –