Что такое стандартные глобальные переменные для модуля Python?

При чтении других модулей Python я видел, что многие люди часто включают в себя __version__ и __author__ в своих исходных файлах (это даже упоминается в PEP3001 ). Я хотел бы документировать свой код с разумным набором этих переменных. Что такое список глобальных переменных, которые могут быть включены?

2 Solutions collect form web for “Что такое стандартные глобальные переменные для модуля Python?”

Для этих глобальных переменных нет конкретного стандарта – как указано в PEP, который вы связали, они пытались достичь стандарта, но не получили универсального признания в какой-либо единственной форме.

Настоящим стандартом являются метаданные PyPI, которые указаны в файле setup.py для вашего модуля, используя distutils (или совместимый интерфейс). Вот пример из учебника по упаковке:

 from distutils.core import setup setup( name='TowelStuff', version='0.1.0', author='J. Random Hacker', author_email='jrh@example.com', packages=['towelstuff', 'towelstuff.test'], scripts=['bin/stowe-towels.py','bin/wash-towels.py'], url='http://pypi.python.org/pypi/TowelStuff/', license='LICENSE.txt', description='Useful towel-related stuff.', long_description=open('README.txt').read(), install_requires=[ "Django >= 1.1.1", "caldav == 0.1.4", ], ) 

http://guide.python-distribute.org/creation.html

Вместо этого используйте distutils (или supset setuptools ) для предоставления метаданных о вашем проекте.

Особенно при использовании setuptools эти метаданные затем можно обнаружить и повторно использовать через модуль pkg_resources .

Для глобальных переменных, таких как __version__ , нет стандарта, даже для Python stdlib, поэтому усилия по предоставлению этих метаданных в stdlib для Python 3 ни к чему не привели.

Я могу порекомендовать Руководство пользователя Python Packaging в качестве руководства по правильному пакетному проекту.

  • Обработка больших данных в python
  • Эквивалент Python для atoi / atof
  • Как сгладить список списков на один шаг
  • Как преобразовать текущую дату в временную метку эпохи?
  • Чтение даты в виде строки, не содержащей float из excel с использованием python xlrd
  • Какой самый сжатый способ в Python группировать и суммировать список объектов по одному и тому же свойству
  • константы в Python: в корне модуля или в пространстве имен внутри модуля?
  • Пропустить функцию empty / noop / lambda в качестве аргумента по умолчанию
  • Преобразование строки Unicode / UTF-8 в нижний / верхний регистр с использованием библиотеки pure & pythonic
  • Где модуль __builtin__ в Python3? Почему это было переименовано?
  • Jinja2 PackageLoader на движке Google
  •  
    Interesting Posts for Van-Lav

    Использование класса Python в качестве контейнера данных

    Можно ли привязать аннотацию matplotlib к координате данных по оси x, но к относительному местоположению по оси y?

    Сортировка sys.path: первый virtualenv, затем / usr

    Передача данных Python в JavaScript через Django

    boost :: python – как вызвать функцию python в своем потоке из C ++?

    json.loads () дает исключение, что он ожидает значение, похоже, что значение есть

    Как изменить строковое представление класса Python?

    Есть ли примеры приложений iOS, написанных с использованием PyObjC?

    Как проверить IP-адрес в Python?

    Отображение новых строк в содержимом, представленном пользователем (веб-приложение Python)

    Приоритетная очередь с двумя приоритетами Python

    Вопрос о safe = Истинный параметр для операции обновления mongodb

    Ошибка синтаксического анализа запроса предка

    Сельдерей: правильный способ запуска длительной функции инициализации (за каждый процесс)

    Python – matplotlib – PyQT: копирование изображения в буфер обмена

    Python - лучший язык программирования в мире.