2014-06-20 46 views
5

Tôi đang cố gắng tạo tệp requirements.txt theo chương trình. Bằng cách này tôi có thể phân biệt nó với một tệp .txt thứ hai. Cho đến nay tôi đã thử những điều sau đây, nhưng chúng chỉ xuất ra các yêu cầu cho giao diện điều khiển (Không có tệp .txt được tạo).Lập trình tạo tệp requirements.txt theo cách có lập trình

Cho đến nay tôi đã cố gắng

import pip 

    pip.main(["freeze",">","requirements.txt"]) 

from subprocess import call 

    call(["pip","freeze", ">","requirements.txt"]) 

Nếu tôi cố gắng để chạy lệnh tương tự bằng tay tại nhà ga mặc dù, các tập tin được tạo ra mà không vấn đề. Bất kỳ đề xuất?

Trả lời

6

Hỏi pip để trực tiếp cung cấp danh sách các bản phân phối

Script myfreeze.py

import pip 
with open("requirements.txt", "w") as f: 
    for dist in pip.get_installed_distributions(): 
     req = dist.as_requirement() 
     f.write(str(req) + "\n") 

Sau đó, bạn sẽ có được nội dung mong muốn trong tập tin requirements.txt của bạn.

3
subprocess.Popen(['pip', 'freeze'], stdout=open('/tmp/pip.log', 'w')) 
Các vấn đề liên quan