Ich habe Python überhaupt nicht berührt, aber ich habe zufällig Kafka-Erweiterungen für Azure-Funktionen aktualisiert und aktualisiert. Daher muss ich die Python-Bibliothek als Teil davon aktualisieren. aufgetreten ist.
Es fiel mir schwer, weil ich die Sprachspezifikationen und Tools nicht so gut kannte, und ich möchte aufzeichnen, was ich gelernt habe.
Virtual Environment Seit Python 3.4 ist standardmäßig ein Mechanismus namens Virtual Environment installiert. Dadurch wird die Umgebung bei der Installation der Bibliothek getrennt. Es gibt etwas in der Nähe des Mechanismus zum Verwalten der Bundle-Bibliothek in Ruby und npm im Knoten.
Führen Sie insbesondere den folgenden Befehl aus.
$ python -m venv .venv
Dadurch wird ein Verzeichnis mit dem Namen ".venv" erstellt. Führen Sie den folgenden Befehl aus, um venv
zu aktivieren.
$ source .venv/bin/activate
Auf diese Weise können zukünftige Installationen der Bibliothek unter ".venv" gespeichert werden, sodass Python-Programme auf die unter ".venv" installierten Bibliotheken verweisen können, während ".venv" aktiviert ist. Wird sein.
setup.py
Wenn Sie eine Bibliothek hinzufügen möchten, fügen Sie einen Eintrag zu setup.py
hinzu. [Repository] Ich habe dazu beigetragen (https://github.com/Azure/azure-functions-python-library/blob/dev/setup.py)
$ python -m pip install -U -e ./[dev\]
setup.py
from setuptools import setup
from azure.functions import __version__
setup(
name='azure-functions',
version=__version__,
description='Azure Functions for Python',
long_description='Python support for Azure Functions is based on '
'Python3.[6|7|8], serverless hosting on Linux and the '
'Functions 2.0 and 3.0 runtime. This module provides the '
'rich binding definitions for Azure Functions for Python '
'apps.',
author='Microsoft Corporation',
author_email='[email protected]',
classifiers=[
'License :: OSI Approved :: MIT License',
'Intended Audience :: Developers',
'Programming Language :: Python :: 3',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: MacOS :: MacOS X',
'Environment :: Web Environment',
'Development Status :: 5 - Production/Stable',
],
license='MIT',
packages=['azure.functions'],
package_data={
'azure.functions': ['py.typed']
},
extras_require={
'dev': [
'flake8~=3.7.9',
'mypy',
'pytest',
'requests==2.*',
'coverage'
]
},
include_package_data=True,
test_suite='tests'
)
Lint
PR