Tôi đang cố gắng tạo một tập lệnh python chung để khởi động ứng dụng python và tôi muốn cài đặt bất kỳ mô-đun python phụ thuộc nào nếu chúng bị thiếu từ hệ thống đích. Làm thế nào tôi có thể chạy tương đương với lệnh dòng lệnh 'python setup.py install' từ bên trong Python? Tôi cảm thấy như thế này khá dễ, nhưng tôi không thể hiểu được.Làm thế nào để chạy 'python setup.py install' từ bên trong Python?
Trả lời
import os
string = "python setup.py install"
os.system(string)
thế nào để làm điều đó nếu setup.py nằm trên một số đường dẫn khác, ví dụ trong c: \ foo \ bar \ setup.py? – Aleksandar
Bạn có thể sử dụng các mô-đun subprocess:
import subprocess
subprocess.call(['python', 'setup.py', 'install'])
Cách thực hiện điều đó nếu setup.py nằm trên một số đường dẫn khác, ví dụ: trong c: \ foo \ bar \ setup.py? – Aleksandar
Vượt qua đường dẫn đầy đủ làm đối số thứ hai. – sdolan
Chỉ cần nhập nó.
import setup
Tôi đã suy nghĩ theo những dòng này. Sau khi được nhập, làm cách nào để gọi 'cài đặt'? – jamesaharvey
đọc này: http://docs.python.org/distutils/apiref.html#distutils.core.run_setup
Nó khá tốt tài liệu.
Tôi đã đọc tài liệu. Bạn có thể cho tôi một ví dụ không? 'run_setup ('/ home/ubuntu/python-augeas/setup.py', ['install'])' không hoạt động. –
@AdamRyczkowski, [DISTUTILS_DEBUG] (https://docs.python.org/2/distutils/setupscript.html) là bạn của bạn – rstackhouse
Đối với những người sử dụng setuptools bạn có thể sử dụng setuptools.sandbox:
from setuptools import sandbox
sandbox.run_setup('setup.py', ['clean', 'bdist_wheel'])
này làm việc cho tôi (py2.7)
Tôi có một mô-đun tùy chọn với setup.py của nó trong một thư mục con của dự án chính .
from distutils.core import run_setup [..setup(..) config of the main project..] run_setup('subfolder/setup.py', script_args=['develop',],stop_after='run')
Cảm ơn
Cập nhật:
Đào một thời gian bạn có thể tìm thấy trong distutils.core.run_setup
'script_name' is a file that will be run with 'execfile()'; 'sys.argv[0]' will be replaced with 'script' for the duration of the call. 'script_args' is a list of strings; if supplied, 'sys.argv[1:]' will be replaced by 'script_args' for the duration of the call.
nên mã trên shold được đổi thành
import sys
from distutils.core import run_setup
run_setup('subfolder/setup.py', script_args=sys.argv[1:],stop_after='run')
Cách trễ - nhưng nếu ai đó tìm thấy anh ấy/cô ấy ở đây như tôi đã làm - điều này hiệu quả với tôi; (trăn 3.4). Tập lệnh của tôi là một gói xuống từ setup.py. Lưu ý, bạn phải có chmod + x trên setup.py, tôi tin.
cwd = os.getcwd()
parent = os.path.dirname(cwd)
os.chdir(parent)
os.system("python setup.py sdist")
- 1. Làm cách nào để chạy tệp tập lệnh như một phần của cài đặt python setup.py?
- 2. autotools và python setup.py
- 3. Làm thế nào để xác định phụ thuộc đóng gói python rõ ràng trong setup.py?
- 4. Python GDAL: pip install --no-install GDAL không thành công
- 5. Làm thế nào để chạy Python trong Komodo
- 6. Tại sao "pip install" bên trong Python làm tăng cú pháp SyntaxError?
- 7. Làm thế nào để cài đặt một mô-đun Python thông qua setup.py trong Windows?
- 8. Chạy một lệnh tương tác từ bên trong python
- 9. Làm thế nào để lệnh easy_install thực thi các lệnh tùy chỉnh trong setup.py?
- 10. Làm cách nào để chạy một Makefile trong setup.py?
- 11. Làm thế nào để scp trong python?
- 12. python pip im lặng install
- 13. làm thế nào để cài đặt python distutils
- 14. Làm cách nào để chuyển cờ sang gcc trong tập lệnh Python setup.py?
- 15. Làm thế nào để chạy thực thi bên ngoài bằng cách sử dụng Python?
- 16. Chạy OpenCV từ một virtualenv Python
- 17. Python - làm thế nào để tôi gọi các chương trình python bên ngoài?
- 18. Làm thế nào để sử dụng py.test từ Python?
- 19. Làm thế nào để chạy nginx + python (không có django)
- 20. Làm thế nào để cài đặt một gói Python từ bên trong IPython?
- 21. Làm thế nào để gọi một tập lệnh python hoặc shell từ bên trong Extendscript?
- 22. `make install` với CMake + SWIG + Python
- 23. Chạy tập lệnh Python bên ngoài Django
- 24. Làm thế nào để chạy một tệp Python không có trong thư mục từ một tệp Python khác?
- 25. Làm thế nào để bỏ qua python địa phương khi xây dựng python từ nguồn
- 26. Làm thế nào để yêu cầu Python thích mô-đun từ $ HOME/lib/python trên/usr/lib/python?
- 27. chạy mã c + + từ python
- 28. python: chạy shell python tương tác từ chương trình
- 29. Làm cách nào để chạy độc tố trong một dự án không có setup.py?
- 30. python setup.py cấu hình để cài đặt các tệp trong thư mục tùy chỉnh
liên quan: [? Gọi trực tiếp đến distutils' hoặc setuptools' setup() chức năng với tên lệnh/tùy chọn, mà không phân tích cú pháp dòng lệnh] (http://stackoverflow.com/q/2850971/2127008) – Wrzlprmft