2012-05-22 15 views
5

Bên trong setup.py Tôi có một cái gì đó như thế này:Làm cách nào để thuyết phục các công cụ thiết lập sử dụng thư mục tạm thời để yêu cầu các gói từ setup_require hoặc tests_require?

setup_requires=['nose>=1.0'], 
tests_require=[], 

Vấn đề là khi tôi chạy ./setup.py test nó sẽ tải về và giải nén các phân hệ trong danh bạ với setup.py.

Làm cách nào tôi có thể thuyết phục nó sử dụng một thư mục tạm thời cho điều này, tôi không muốn điều chỉnh hệ thống kiểm soát nguồn với những điều này, và tôi không muốn bắt đầu thêm nhiều và rất nhiều phần mềm.

Trả lời

1

Nếu vấn đề là cây nguồn của dự án của bạn, bạn có thể tạo một tập lệnh để xóa tất cả các thư mục "dist" và "build" được tạo bởi các dấu ngắt ở cuối bài kiểm tra thiết lập. Các gói đã tải xuống thường là các thư mục * .egg trong cây nguồn của bạn.

Bạn không gây ô nhiễm phân phối của mình.

Từ tài liệu setuptools:

setup_requires sẽ KHÔNG được tự động cài đặt trên hệ thống nơi thiết lập kịch bản đang được chạy. Chúng đơn giản được tải xuống thư mục thiết lập nếu chúng chưa có sẵn tại địa phương. Nếu bạn muốn họ phải được cài đặt, cũng như có sẵn khi kịch bản cài đặt là chạy, bạn nên thêm chúng vào install_requires và setup_requires.)

tests_require Nếu bạn các bài kiểm tra của dự án cần một hoặc nhiều gói bổ sung ngoài những gói cần thiết để cài đặt nó, bạn có thể sử dụng tùy chọn này để chỉ định chúng. Nó phải là một chuỗi hoặc danh sách các chuỗi chỉ định những gì các bản phân phối khác cần phải có để thử nghiệm của gói là chạy. Khi bạn chạy lệnh kiểm tra, setuptools sẽ cố gắng để có được những (thậm chí đi xa như vậy để tải chúng bằng cách sử dụng EasyInstall). Lưu ý rằng các dự án bắt buộc này sẽ không được cài đặt trên hệ thống nơi các thử nghiệm được chạy, nhưng chỉ được tải xuống thư mục thiết lập của dự án nếu chúng chưa được cài đặt cục bộ.

http://packages.python.org/distribute/setuptools.html

Nếu bạn đã cài đặt một số gói và bạn cần phải loại bỏ nó, chỉ tìm thấy gói của bạn trong thư mục con "site-packages" phân phối python của bạn và xóa nó. Cuối cùng, xóa tham chiếu gói trong tệp dễ install.pth thường nằm trong cùng một thư mục "site-packages".

+0

Cảm ơn. Tuy nhiên những gì tôi đang tìm kiếm không gây ô nhiễm bản sao làm việc của tôi khi tôi chạy 'setup.py', nằm trong thư mục gốc của kho lưu trữ.Vì vậy, tôi đang tìm cách thuyết phục các công cụ thiết lập để tạo các tệp này ở một nơi khác. – sorin

+0

Đã sửa. Tôi nghĩ bạn nên đi với một kịch bản! –

0

Bắt đầu với thiết lập công cụ 7.0, phụ thuộc tạm thời được tải cho setup_requires, tests_require và tương tự được cài đặt vào ./.eggs. Tôi đặc biệt khuyến khích thêm vào danh sách bỏ qua toàn cầu của bạn.

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