Как создать колесо Pure-Python

Из следующего файла setup.py, я пытаюсь создать чисто-питонное колесо из проекта, который должен содержать только код python 2.7.

from setuptools import setup setup( name='foo', version='0.0.1', description='', url='', install_requires=[ 'bpython', 'Django==1.8.2', ], ) 

Тем не менее, когда я запускаю python setup.py bdist_wheel файл колес имеет специфический для платформы файл foo-0.0.1-cp27-none-macosx_10_9_x86_64.whl а не ожидаемый foo-0.0.1-cp27-none-any.whl . Когда я пытаюсь установить это колесо на другой платформе, он не говорит, что it is not compatible with this Python .

Мне нужно что-то изменить о файле setup.py или интерпретаторе python, возможно, это позволит использовать это колесо на любой платформе?

2 Solutions collect form web for “Как создать колесо Pure-Python”

--universal способом является добавление – --universal для вашей командной строки, как вы можете видеть из запуска python setup.py bdist_wheel --help :

  --universal make a universal wheel (default: false) 

В качестве альтернативы вы можете добавить файл setup.cfg рядом с вашим setup.py который позаботится об этом:

 [bdist_wheel] universal = 1 

Если вам не нравится еще один файл конфигурации, сбивающий ваш пакет, вы можете просто написать такой файл в файле setup.py перед тем, как он вызовет setup() а затем удалит его после того, как этот вызов вернется, это то, что я делаю в общем доступе setup.py для всех моих проектов на PyPI, например, используется в ruamel.yaml .

Добавление поля классификаторов в мой setup.py исправил эту проблему.

 from setuptools import setup setup( name='foo', version='0.0.1', description='', url='', classifiers=[ 'Programming Language :: Python :: 2.7', ], install_requires=[ 'bpython', 'Django==1.8.2', ], ) 
  • Настройка setup.py для упаковки одного .py-файла и одного файла данных без необходимости создания каких-либо папок
  • Установка данных nltk в скрипт setup.py
  • Cython setup.py для нескольких .pyx
  • entry_points не создает пользовательские скрипты с помощью pip или easy_install в Python?
  • Может ли distutils выполнять проверку зависимостей без установки?
  • Почему «python setup.py sdist» создает нежелательные «PROJECT-egg.info» в корневом каталоге проекта?
  • В файле настроек setup.py или pip, как контролировать порядок установки зависимостей пакетов?
  • Как добавить файлы заголовков в setup.py, так что зависимости возникают при создании расширений?
  • Python - лучший язык программирования в мире.