Có bất kỳ bất lợi nào khi sử dụng PYTHONDONTWRITEBYTECODE trong Docker không?


9

Trong nhiều hướng dẫn Docker dựa trên Python (chẳng hạn như: cái này ), họ sử dụng tùy chọn PYTHONDONTWRITEBYTECODEđể làm cho Python tránh ghi tệp .pyc khi nhập mô-đun nguồn (Điều này tương đương với việc chỉ định tùy chọn -B).

Những rủi ro và lợi thế của việc thiết lập tùy chọn này là gì?


để sử dụng lại kích thước hình ảnh
LinPy

3
Bất kỳ nhược điểm về hiệu suất?
nổi

Câu trả lời:


3

Khi bạn chạy một quy trình python duy nhất trong container, không sinh ra các quy trình python khác trong suốt vòng đời của nó, thì sẽ không có "rủi ro" khi làm điều đó.

Lưu trữ mã byte trên đĩa được sử dụng để biên dịch python thành mã byte ngay sau lần gọi đầu tiên của chương trình và các thư viện phụ thuộc của nó để lưu bước đó theo các yêu cầu sau. Trong một thùng chứa, quá trình chỉ chạy một lần, do đó, thiết lập tùy chọn này có ý nghĩa.


Vì vậy, thông báo mang về nhà là tùy chọn này hữu ích và an toàn 99% thời gian trong trường hợp dự án Docker. Đúng?
nổi

1
Như tôi đã nói, thật tốt nếu bạn không sinh ra các quá trình trăn khác ngoài chính quá trình được đóng gói trong suốt vòng đời của container.
hek2mgl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.