2011-12-28 18 views
7

Có thể tạo ra một tập tin setup.py rằng:setup.py kéo trong repo không Python và đặt chúng vào đúng thư mục?

  • Kéo trong một kho lưu trữ github
  • nơi các tập tin từ kho lưu trữ đó vào một thư mục chỉ định

Tôi đang thiết lập một gói/ứng dụng django sử dụng khung JavaScript của bên thứ ba có sẵn trên github. Tôi muốn có thể có setup.py kéo phiên bản mới nhất từ ​​github và sau đó đặt các tệp đó vào thư mục tĩnh/js thích hợp. Vì vậy, điều này khác với các phụ thuộc bình thường là các gói Python với các tệp setup.py của riêng chúng.

+0

làm cách nào để biến chúng thành mô-đun con để chúng được bao gồm dưới dạng thư mục con? – jterrace

+0

Bạn sẽ thiết lập như thế nào? –

+0

http://chrisjean.com/2009/04/20/git-submodules-adding-using-removing-and-updating/ – jterrace

Trả lời

2

Nếu bạn đang sử dụng setuptool (setup.py), bạn có thể sử dụng các yêu cầu phụ thuộc: https://stackoverflow.com/a/3481388/496445

Nếu không như ý kiến ​​đã đề nghị, lập dự án django bạn như là một git repo thực tế và sau đó thêm repo github như một submodule

cd myProject 
git init 
git submodule add git://path/to/repo.git local/location/repo 

Sau đó, bạn sẽ chỉ có thể cd vào submodule đó và git pull

Nếu bạn không muốn thiết lập dự án của bạn lên như ag nó repo, sau đó lực lượng cách vũ phu sẽ tự sao chép các repo github nơi bạn muốn nó, và sau đó thêm một số lệnh bằng tay trong setup.py của bạn

import os 
os.system("cd path/to/repo && git pull") 
+0

Điều đó có hiệu quả nếu mặt hàng được đề cập không phải là mô-đun python? Er, mọi thứ trước kia. Tôi vẫn đang lên kế hoạch sử dụng setuptool hoặc distutils (tùy thuộc vào cấu hình nào dễ hơn) nhưng đối tượng tôi đang kéo không phải là một module, vì vậy tôi chắc chắn rằng sự phụ thuộc sẽ không hoạt động. –

+0

Tôi cho rằng không, nếu nó không phải là một gói python. Tùy chọn hai là rất đơn giản mặc dù. – jdi

+0

Được rồi, tôi đã thiết lập các mô-đun con nhưng chúng trống và khi pip được gọi cho một số lý do hành động sao chép không khiến chúng được tải. Có cách nào cho tôi để làm điều này để khi pip được chạy nó cập nhật submodules là tốt? –

2

Một thay thế cho điều này sẽ được cung cấp một yêu cầu. tệp txt để sử dụng với pip. Bạn có thể chỉ định git và repos mercurial cũng như các gói từ PyPI, để người dùng chỉ cần làm pip install -r requirements.txt để có được toàn bộ dự án.

+0

Điều đó có hiệu quả nếu các kho lưu trữ trong các câu hỏi không có tệp setup.py? –

+0

Xin lỗi bạn đã bỏ phiếu cho bạn, nhưng câu trả lời này chỉ hoạt động nếu tôi đang xử lý kho chứa python, mà tôi không có. Chỉ cần suy nghĩ một số người có thể thử điều này và có nó không hoạt động. Nếu có một cách kỳ diệu để có được pip để kéo các mô-đun không phải Python thông qua tệp requirements.txt cho tôi biết, bởi vì không có gì về điều này trong tài liệu. –

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