|
8 | 8 | msgstr "" |
9 | 9 | "Project-Id-Version: Python Packaging User Guide \n" |
10 | 10 | "Report-Msgid-Bugs-To: \n" |
11 | | -"POT-Creation-Date: 2025-08-21 21:35+0000\n" |
| 11 | +"POT-Creation-Date: 2025-09-16 01:37+0000\n" |
12 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -7175,7 +7175,7 @@ msgid "Twine is the primary tool developers use to upload packages to the Python |
7175 | 7175 | msgstr "" |
7176 | 7176 |
|
7177 | 7177 | #: ../source/key_projects.rst:331 |
7178 | | -#: ../source/overview.rst:401 |
| 7178 | +#: ../source/overview.rst:405 |
7179 | 7179 | msgid "virtualenv" |
7180 | 7180 | msgstr "" |
7181 | 7181 |
|
@@ -8578,94 +8578,98 @@ msgid "Bringing your own kernel" |
8578 | 8578 | msgstr "" |
8579 | 8579 |
|
8580 | 8580 | #: ../source/overview.rst:342 |
8581 | | -msgid "Most operating systems support some form of classical virtualization, running applications packaged as images containing a full operating system of their own. Running these virtual machines, or VMs, is a mature approach, widespread in data center environments." |
| 8581 | +msgid "Most desktop operating systems support some form of classical virtualization, running applications packaged as images containing a full operating system of their own. Running these virtual machines, or VMs, is a mature approach, widespread in data center environments." |
8582 | 8582 | msgstr "" |
8583 | 8583 |
|
8584 | 8584 | #: ../source/overview.rst:347 |
8585 | 8585 | msgid "These techniques are mostly reserved for larger scale deployments in data centers, though certain complex applications can benefit from this packaging. The technologies are Python agnostic, and include:" |
8586 | 8586 | msgstr "" |
8587 | 8587 |
|
8588 | 8588 | #: ../source/overview.rst:351 |
8589 | | -msgid "`Vagrant <https://www.vagrantup.com/>`_" |
| 8589 | +msgid "KVM on Linux" |
8590 | 8590 | msgstr "" |
8591 | 8591 |
|
8592 | 8592 | #: ../source/overview.rst:352 |
8593 | | -msgid "`VHD <https://en.wikipedia.org/wiki/VHD_(file_format)>`_, `AMI <https://en.wikipedia.org/wiki/Amazon_Machine_Image>`_, and :doc:`other formats <openstack:user/formats>`" |
| 8593 | +msgid "Hyper-V on Windows" |
8594 | 8594 | msgstr "" |
8595 | 8595 |
|
8596 | 8596 | #: ../source/overview.rst:353 |
8597 | | -msgid "`OpenStack <https://www.redhat.com/en/topics/openstack>`_ - A cloud management system in Python, with extensive VM support" |
| 8597 | +msgid "`VHD <https://en.wikipedia.org/wiki/VHD_(file_format)>`_, `AMI <https://en.wikipedia.org/wiki/Amazon_Machine_Image>`_, and :doc:`other formats <openstack:user/formats>`" |
8598 | 8598 | msgstr "" |
8599 | 8599 |
|
8600 | 8600 | #: ../source/overview.rst:356 |
| 8601 | +msgid "`OpenStack <https://www.redhat.com/en/topics/openstack>`_ - A cloud management system written in Python, with extensive VM support" |
| 8602 | +msgstr "" |
| 8603 | + |
| 8604 | +#: ../source/overview.rst:360 |
8601 | 8605 | msgid "Bringing your own hardware" |
8602 | 8606 | msgstr "" |
8603 | 8607 |
|
8604 | | -#: ../source/overview.rst:358 |
| 8608 | +#: ../source/overview.rst:362 |
8605 | 8609 | msgid "The most all-encompassing way to ship your software would be to ship it already-installed on some hardware. This way, your software's user would require only electricity." |
8606 | 8610 | msgstr "" |
8607 | 8611 |
|
8608 | | -#: ../source/overview.rst:362 |
| 8612 | +#: ../source/overview.rst:366 |
8609 | 8613 | msgid "Whereas the virtual machines described above are primarily reserved for the tech-savvy, you can find hardware appliances being used by everyone from the most advanced data centers to the youngest children." |
8610 | 8614 | msgstr "" |
8611 | 8615 |
|
8612 | | -#: ../source/overview.rst:366 |
| 8616 | +#: ../source/overview.rst:370 |
8613 | 8617 | msgid "Embed your code on an :gh:`Adafruit <adafruit/circuitpython>`, `MicroPython <https://micropython.org/>`_, or more-powerful hardware running Python, then ship it to the datacenter or your users' homes. They plug and play, and you can call it a day." |
8614 | 8618 | msgstr "" |
8615 | 8619 |
|
8616 | | -#: ../source/overview.rst:375 |
| 8620 | +#: ../source/overview.rst:379 |
8617 | 8621 | msgid "A summary of technologies used to package Python applications." |
8618 | 8622 | msgstr "" |
8619 | 8623 |
|
8620 | | -#: ../source/overview.rst:375 |
| 8624 | +#: ../source/overview.rst:379 |
8621 | 8625 | msgid "The simplified gamut of technologies used to package Python applications." |
8622 | 8626 | msgstr "" |
8623 | 8627 |
|
8624 | | -#: ../source/overview.rst:378 |
| 8628 | +#: ../source/overview.rst:382 |
8625 | 8629 | msgid "What about..." |
8626 | 8630 | msgstr "" |
8627 | 8631 |
|
8628 | | -#: ../source/overview.rst:380 |
| 8632 | +#: ../source/overview.rst:384 |
8629 | 8633 | msgid "The sections above can only summarize so much, and you might be wondering about some of the more conspicuous gaps." |
8630 | 8634 | msgstr "" |
8631 | 8635 |
|
8632 | | -#: ../source/overview.rst:384 |
| 8636 | +#: ../source/overview.rst:388 |
8633 | 8637 | msgid "Operating system packages" |
8634 | 8638 | msgstr "" |
8635 | 8639 |
|
8636 | | -#: ../source/overview.rst:386 |
| 8640 | +#: ../source/overview.rst:390 |
8637 | 8641 | msgid "As mentioned in :ref:`depending-on-a-separate-ecosystem` above, some operating systems have package managers of their own. If you're very sure of the operating system you're targeting, you can depend directly on a format like `deb <https://en.wikipedia.org/wiki/Deb_(file_format)>`_ (for Debian, Ubuntu, etc.) or `RPM <https://en.wikipedia.org/wiki/RPM_Package_Manager>`_ (for Red Hat, Fedora, etc.), and use that built-in package manager to take care of installation, and even deployment. You can even use `FPM <https://fpm.readthedocs.io/en/latest/cli-reference.html#virtualenv>`_ to generate both deb and RPMs from the same source." |
8638 | 8642 | msgstr "" |
8639 | 8643 |
|
8640 | | -#: ../source/overview.rst:397 |
| 8644 | +#: ../source/overview.rst:401 |
8641 | 8645 | msgid "In most deployment pipelines, the OS package manager is just one piece of the puzzle." |
8642 | 8646 | msgstr "" |
8643 | 8647 |
|
8644 | | -#: ../source/overview.rst:403 |
| 8648 | +#: ../source/overview.rst:407 |
8645 | 8649 | msgid ":doc:`Virtualenvs <python-guide:dev/virtualenvs>` have been an indispensable tool for multiple generations of Python developer, but are slowly fading from view, as they are being wrapped by higher-level tools. With packaging in particular, virtualenvs are used as a primitive in :doc:`the dh-virtualenv tool <dh-virtualenv:tutorial>` and `osnap <https://github.com/jamesabel/osnap>`_, both of which wrap virtualenvs in a self-contained way." |
8646 | 8650 | msgstr "" |
8647 | 8651 |
|
8648 | | -#: ../source/overview.rst:412 |
| 8652 | +#: ../source/overview.rst:416 |
8649 | 8653 | msgid "For production deployments, do not rely on running ``python -m pip install`` from the Internet into a virtualenv, as one might do in a development environment. The overview above is full of much better solutions." |
8650 | 8654 | msgstr "" |
8651 | 8655 |
|
8652 | | -#: ../source/overview.rst:417 |
| 8656 | +#: ../source/overview.rst:421 |
8653 | 8657 | msgid "Security" |
8654 | 8658 | msgstr "" |
8655 | 8659 |
|
8656 | | -#: ../source/overview.rst:419 |
| 8660 | +#: ../source/overview.rst:423 |
8657 | 8661 | msgid "The further down the gradient you come, the harder it gets to update components of your package. Everything is more tightly bound together." |
8658 | 8662 | msgstr "" |
8659 | 8663 |
|
8660 | | -#: ../source/overview.rst:422 |
| 8664 | +#: ../source/overview.rst:426 |
8661 | 8665 | msgid "For example, if a kernel security issue emerges, and you're deploying containers, the host system's kernel can be updated without requiring a new build on behalf of the application. If you deploy VM images, you'll need a new build. Whether or not this dynamic makes one option more secure is still a bit of an old debate, going back to the still-unsettled matter of `static versus dynamic linking <https://www.google.com/search?channel=fs&q=static+vs+dynamic+linking>`_." |
8662 | 8666 | msgstr "" |
8663 | 8667 |
|
8664 | | -#: ../source/overview.rst:431 |
| 8668 | +#: ../source/overview.rst:435 |
8665 | 8669 | msgid "Wrap up" |
8666 | 8670 | msgstr "" |
8667 | 8671 |
|
8668 | | -#: ../source/overview.rst:433 |
| 8672 | +#: ../source/overview.rst:437 |
8669 | 8673 | msgid "Packaging in Python has a bit of a reputation for being a bumpy ride. This impression is mostly a byproduct of Python's versatility. Once you understand the natural boundaries between each packaging solution, you begin to realize that the varied landscape is a small price Python programmers pay for using one of the most balanced, flexible languages available." |
8670 | 8674 | msgstr "" |
8671 | 8675 |
|
|
0 commit comments