Je n'ai pas du tout touché Python, mais il m'est arrivé de mettre à niveau et de rafraîchir les extensions Kafka pour Azure Functions, je dois donc mettre à jour la bibliothèque Python dans ce cadre. s'est produite.
J'ai eu du mal parce que je ne connaissais pas tellement les spécifications linguistiques et les outils, alors je veux enregistrer ce que j'ai appris.
Virtual Environment Depuis Python 3.4, un mécanisme appelé Virtual Environment est installé en standard. Cela séparera l'environnement lorsque vous installerez la bibliothèque. Il y a quelque chose de proche du mécanisme de gestion de la bibliothèque de bundle dans Ruby et npm dans node.
Plus précisément, exécutez la commande suivante.
$ python -m venv .venv
Cela créera un répertoire appelé .venv
. Exécutez la commande suivante pour activer venv
.
$ source .venv/bin/activate
Cela permettra aux futures installations de la bibliothèque d'être enregistrées sous .venv
afin que les programmes python puissent référencer les bibliothèques installées sous celui-ci pendant que .venv
est activé. Sera.
setup.py
Si vous souhaitez ajouter une bibliothèque, ajoutez une entrée à setup.py
. [Dépôt] J'ai contribué (https://github.com/Azure/azure-functions-python-library/blob/dev/setup.py)
$ python -m pip install -U -e ./[dev\]
Cette commande installera également la partie dev
de ʻextras_require dans
setup.py. Notez que «-U» signifie «Mettre à jour» et met à jour le paquet vers une version plus récente.
-e signifie ʻEditable
, ce qui rend la bibliothèque installée modifiable. Ce n'est généralement pas dans un format modifiable. Lors du débogage d'une bibliothèque, vous voudrez expérimenter et voir la source, c'est donc une bonne idée d'ajouter -e
.
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
Je ne l'ai pas encore essayé, mais Python's Lint est assez original, c'est donc une bonne idée d'inclure Linter.
PR PR de Python pour la première fois de ma vie
Recommended Posts