Використовуйте сховища / PPA, оскільки вони будуть тримати вас стабільними та в курсі виправлень безпеки.
Це здебільшого вірно. Якщо, наприклад, ви встановите, python-django
як у мене, ви отримаєте оновлення безпеки. Це добре, тому що вам потрібно тримати лише верх, але все-таки потрібно перевірити речі, перш ніж натискати оновлення (хоча тестування повинно бути щодня).
Ви можете стверджувати, що якщо ви використовували pip
, ви ніколи не можете перевіряти наявність оновлень.
Використовуйте, pip
щоб ви могли використовувати належні "стабільні" версії.
У цьому немає сумнівів: репост відстає від реального світу. Django має версію 2.0, але репост для LTS-версії Ubuntu (яку багато людей дотримуються для серверів), ви отримуєте лише 1,8 на Ubuntu 16,4 lts з Python 2, але все одно отримуєте оновлення безпеки на ньому.
pip
дає вам найсвіжіші весь час. Вам просто потрібно оновити їх самостійно.
Оновлення встановленої Python установки, яка використовується повторно, може бути кошмаром
Коли ви відволікаєте оновлення Ubuntu до наступної версії, він оновлює безліч пакетів. Багато речей змінюється. Я знаю, що в Django це означає, що вам потрібно подбати про невідповідність коду, депресія ... Але те саме стосується всіх інших кодів Python.
Те саме стосується, pip
але з pip
вами потрібно робити одночасно. Ви знаєте, що викликає проблеми, тому ви знаєте, де шукати, щоб знайти виправлення.
pip
+ virtualenv
дозволяє тримати речі окремо
virtualenv
дозволяє мати портативні, маленькі середовища Python. Це дозволяє вам мати декілька різних середовищ Python, що працюють на одній машині.
Очевидним благом здається, що це стосується технічного обслуговування, оскільки ви можете керувати середовищем так само, як і керувати кодом. Навіть зберігайте середовище у VCS теж ... але вам слід пам’ятати, що наявність дванадцяти різних virtualenv
s означає дванадцять середовищ, вам потрібно перевірити та оновити.
Редагувати: Після жахливої серії оновлень на сервері, щоб отримати його від Lucid до Precision, я перейшов із змішаної Apt + pip (nr 1 та 2) до чистої ситуації pip + virtualenv (nr. 4). Замість того, щоб мати один virtualenv на сайт, я отримав один спільний між десятками сайтів. Це зараз працює.
Мені також довелося написати невеликий сценарій, який перевіряє стан пакунків, встановлених за допомогою pip. Якщо є оновлення, я повинен застосовувати їх вручну (що добре, тому що я тестую їх локально, в локальному virtualenv). Це все ще трохи болісніше, ніж це було спочатку, але набагато краще в довгостроковій перспективі.