Sau khi đọc tài liệu python (http://www.python.org/dev/peps/pep-0396/) Tôi đã nhầm lẫn hơn trước về cách đặt thuộc tính __version__
cho các gói thích hợp. Nó được đề cập để đưa chúng vào tập tin setup.py
, loại confuses tôi: nó sẽ không có sẵn như là my_package.__version__
, phải không?Tạo thuộc tính __version__ cho gói python mà không gặp rắc rối
Tôi đã kết thúc nhập thuộc tính phiên bản từ một tệp riêng biệt.
Vì vậy "phiên bản" của tôi tập tin thường là
my_package/
__init__.py
my_module1/
...
my_module2/
...
my_module3/
...
info/
__init__.py
version.py
__version__ = '0.1.0'
và trong những phòng trên __init__.py
tôi nhập khẩu các __version__
thuộc tính từ info.version
:
import __version__
để người ta có thể có được số phiên bản qua
my_package.__version__
Tôi chỉ băn khoăn liệu đây có phải là cách tiếp cận "ổn" không, và nếu có điều gì đó chống lại việc làm như thế này thì sao? Tôi rất mong nhận được ý kiến và đề xuất của bạn!
Liên quan chặt chẽ: [cách chính xác để chia sẻ gói là gì phiên bản với setup.py và gói?] (http://stackoverflow.com/q/17583443), yêu cầu bạn sử dụng 'setuptools' thay vì' distutils'. Không, cài đặt phiên bản trong 'setup.py' sẽ không làm cho nó có sẵn dưới dạng' my_package .__ version__'. –
Tôi sẽ kiểm tra các chủ đề khác, cảm ơn bạn! – Sebastian