Расширение whl что это

Python на колёсах

Инфраструктура системы пакетов для Python долго подвергалась критике как от разработчиков, так и от системных администраторов. Долгое время даже само комьюнити не могло прийти к соглашению, какие именно инструменты использовать в каждом конкретном случае. Уже существуют distutils, setuptools, distribute, distutils2 в качестве базовых механизмов распространения и virtualenv, buildout, easy_install и pip в качестве высокоуровневых инструментов управления всем этим беспорядком.

Несколько лет назад PJE попытался исправить эту проблему, предоставив смесь из setuptools и pkg_resources для улучшения distutils и добавления метаданных в Python-пакеты. В дополнение к этому он написал утилиту easy_install для их установки. По причине отсутствия формата распространения, поддерживающего метаданные, был предоставлен формат ‘яиц’ [egg].

Python eggs – обычные zip-архивы, содержащие python-пакет и необходимые метаданные. Хотя многие люди, вероятно, никогда намеренно не собирали egg’и, их формат метаданных до сих пор жив-здоров. И все разворачивают свои проекты с использованием setuptools.

Потом прошло еще немного времени, и отказ от бинарных пакетов стал доставлять неудобства. Люди всё больше и больше стали деплоить на облачные сервера, а необходимость перекомпиляции C-шных библиотек на каждой машине не слишком радует. Так как ‘яйца’ на тот момент были малопонятны (я так полагаю), их переделали в новых PEP-ах, и назвали ‘колёсами’ [wheels].

В дальнейшем предполагается, что все действия происходят в virtualenv-окружении.

Что за колесо?

Начнём с простого. Что представляют собой ‘колёса’ и чем они отличаются от ‘яиц’? Оба формата являются zip-файлами. Главная разница в том, что egg можно импортировать без распаковки, wheel же придётся распаковать. Хотя нет никаких технических причин, делающих ‘колёса’ неимпортируемыми, поддержка их прямого импорта никогда даже не планировалась.

Другое различие в том, что ‘яйца’ содержат скомпилированные байткод, а ‘колёса’ – нет. Главное преимущество этого в том, что нет необходимости создавать отдельные wheel’ы для каждой версии Python до тех пор, пока не придётся распространять слинкованные через libpython модули. Хотя в новых версиях Python 3 при использовании стабильного ABI даже это уже можно провернуть.

Однако wheel-формат тоже не лишен проблем, некоторые из которых он наследует от ‘яиц’. Например, бинарные дистрибутивы под Linux до сих пор неприемлемы для большинства из-за двух недостатков: Python сам по себе компилируется под Linux в разных формах, и модули линкуются с разными системными библиотеками. Первая проблема вызвана сосуществованием несовместимых версий Python 2: USC2 и USC4. В зависимости от режима компиляции меняется ABI. В настоящее время wheel (насколько я могу судить) не содержит информации о том, с каким режимом Unicode связана библиотека. Отдельная проблема в том, что дистрибутивы Linux меньше совместимы между собой, чем хотелось бы, и обстоятельства могут сложиться так, что сборка, скомпилированная под один дистрибутив, не будет работать на остальных.

Всё это выливается в то, что, вообще говоря, на данный момент бинарные ‘колёса’ нельзя загружать на PyPI как несовместимые с различными системами.

В дополнение ко всему этому wheel сейчас знает только две крайности: бинарные пакеты и пакеты, содержащие чистый python-код. Бинарные пакеты специфичны для Python ветки 2.x. Сейчас это не кажется большой проблемой, потому что цикл 2.x подходит к концу, и пакетов, собранных только для 2.7, хватит надолго. Но если бы вдруг речь пошла про Python 2.8, была бы интересна возможность заявить, что этот пакет не зависит от версии Python, но он содержит бинарники, поэтому он не может не зависеть от архитектуры.

Единственный случай, оправдывающий существование такого пакета – это когда он содержит распределенные библиотеки, загружаемые с ctypes из CFFI. Такие библиотеки не связаны через libpython и не зависимы от реализации языка (их можно использовать даже с pypy).

Но есть и светлая сторона: ничто не запрещает использовать бинарные wheel’ы в своих собственных однородных инфраструктурах.

Сборка колеса

Решение этой проблемы – вручную реализовать Distribution из setuptools, скинув флаг чистоты в false :

Установка колеса

С использованием свежей версии pip ‘колесо’ ставится следующим образом:

Но что с зависимостями? Тут появляются некоторые сложности. Обычно одним из требований к пакету является возможность его установки даже без подключения к интернету. К счастью, pip позволяет отключать загрузку из индекса и устанавливать директорию, содержащую всё необходимое для установки. Если у нас есть wheel’ы для всех зависимостей необходимых версий, можно сделать следующее:

Таким образом будет установлена версия 1.0 пакета package в наше виртуальное окружение.

Колёса для зависимостей

Эта команда выгрузит все пакеты, от которых зависит наш пакет, в указанную папку. Но есть пара проблем.
Первая состоит в том, что в команде в настоящий момент есть баг, который не выгружает зависимости, которые уже являются ‘колёсами’. Так что если зависимость уже доступна на PyPI в wheel-формате, она не будет загружена.

Это временно решается shell-скриптом, который вручную перемещает из кэша скачанные wheel’ы.

Сборка пакетов c использованием DevPI

Такое временное решение проблемы зависимостей вполне применимо в простых ситуациях, но что делать, если есть множество внутренних python-пакетов, зависящих друг от друга? Такая конструкция быстро разваливается.

К счастью, в прошлом году Holker Krekel создал решение этой беды под названием DevPI, который по существу является хаком, эмулирующим работу pip с PyPI. После установки на компьютер DevPI работает как прозрачный прокси перед PyPI и позволяет pip-у устанавливать пакеты из локального репозитория. К тому же все пакеты, скачанные с PyPI, автоматически кэшируются, так что даже если отключить сеть, эти пакеты будут доступны для установки. И, в конце концов, появляется возможность загрузки своих собственных пакетов на локальный сервер, чтобы ссылаться на них так же, как и на хранящиеся в публичном индексе.

После запуска его необходимо единожды проинициализировать:

Так как я использую DevPI ‘для себя’, имена пользователя DevPI и системного пользователя совпадают. На последнем шаге создаётся индекс по имени проекта (при необходимости можно создать несколько).

Для перенаправления pip на локальный репозиторий можно сделать экспорт переменной окружения:

Я размешаю эту команду в скрипт postactivate моего virtualenv для предотвращения случайной загрузки из неверного индекса.

Для размещения собственных wheel’ов в локальном DevPI используется утилита devpi :

Заворачиваем

Теперь всё готово для начала использования внутренних зависимостей и сборки собственных ‘колёс’. Как только они появятся, их можно заархивировать, загрузить на другой сервер и установить в отдельный virtualenv.
Весь процесс станет чуть проще, когда pip wheel перестанет игнорировать существующие wheel-пакеты. А пока приведенный выше shell-скрипт – не худшее решение.

В сравнении с ‘яйцами’

Сейчас wheel-формат более притягателен, чем egg. Его разработка активнее, PyPI начал добавлять его поддержку и, так как с ним начинают работать утилиты, он похож на лучшее решение. ‘Яйца’ пока что поддерживаются только easy_install, хотя большинство давно перешло на pip.

Итак, теперь он у вас есть. Python на колёсах. И это вроде даже работает, и, возможно, стоит потраченного времени.

Источник

Как установить пакет Python с помощью a.WHL файл?

У меня возникли проблемы с установкой пакета Python (в частности, JPype1 0.5.7) на моей машине Windows, и я хотел бы установить его с двоичными файлами окна Кристофа Голке. (Что, по моему опыту, облегчило большую часть суеты для многих других установок пакетов.)

14 ответов

Я просто использовал следующее, что было довольно просто. Сначала откройте консоль, затем компакт-диск, где вы загрузили свой файл, как какой-то пакет.колесо и использовать

Примечание: если pip.exe не распознается, вы можете найти его в каталоге «Скрипты», откуда был установлен python. Если pip не установлен, эта страница может помочь: Как установить pip на Windows?

чтобы установить с колеса, дайте ему каталог, в который загружается колесо. Например, установить package_name.whl :

убедитесь, что вы обновили pip, чтобы включить поддержку колес:

Я нахожусь в той же лодке, что и ОП.

С помощью командной строки Windows, из каталога:

вы должны запустить pip.exe из командной строки на моем компьютере. Я печатаю C:/Python27/Scripts/pip2.exe install numpy

на сайте великого Кристофа Гольке есть несколько версий файлов.

чтобы вы знали, какую версию вы должны установить для своего компьютера. Выбор неправильной версии может привести к сбою установки пакета (особенно если вы не используете правильный тег CPython, например, cp27).

проверьте pip версия:

если он показывает 6.x серия, поддержка колеса.

только тогда вы можете установить пакет колес, как это:

чтобы иметь возможность устанавливать файлы колес с простым двойным щелчком на них, вы можете сделать следующее:

1) Выполните две команды в командной строке под правами администратора:

2) Кроме того, они могут быть скопированы в wheel.bat file и выполняется с флажком «Запуск от имени администратора»в свойствах.

PS pip.предполагается, что exe находится в пути.

обновление:

(1) Те можно совместить в одном строка:

также его выход можно сделать более подробным:

посмотреть мои блоге для сведения.

чтобы избежать необходимости загружать такие файлы, вы можете попробовать:

единственный способ, которым мне удалось установить NumPy, был следующим:

Модуль

выполнение команды из пути установки Python в PowerShell

PS. Я установил его на Windows 10.

конечно, вы также можете установить пакеты из PyPI таким образом, например,

в случае, если вы не можете установить конкретный пакет напрямую с помощью PIP.

на MacOS, с pip установлен через MacPorts в MacPorts python2.7, мне пришлось использовать решение @Dunes:

здесь python был заменен MacPorts python в моем случае, который является python2.7 или python3.5 для меня.

(я ранее работать sudo port install py27-pip py27-wheel установить pip и wheel сначала в мою установку python 2.7.)

Источник

Расширение файла WHL

Оглавление

Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!

1 расширений и 0 псевдонимы, найденных в базе данных

✅ Python Wheel Package

Другие типы файлов могут также использовать расширение файла .whl.

По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:

Это возможно, что расширение имени файла указано неправильно?

Мы нашли следующие аналогичные расширений файлов в нашей базе данных:

Если дважды щелкнуть файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, файл открывается в программе, которая связана с этим расширением имени файла. Когда Windows не распознает расширение имени файла, появляется следующее сообщение:

Windows не удается открыть этот файл:

Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.

Если вы не знаете как настроить сопоставления файлов .whl, проверьте FAQ.

🔴 Можно ли изменить расширение файлов?

Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.

Если у вас есть полезная информация о расширение файла .whl, напишите нам!

Источник

Русские Блоги

Как установить сторонние библиотеки в Python

Существует около трех часто используемых инструментов для установки сторонних библиотек Python:

Общий формат установочного пакета:

1. whl (рекомендуется, бинарный)
2、tar.gz
3、zip
4. Яйцо (первый распространенный формат упаковки)
напрямую изменить суффикс файлов whl и egg на zip, который можно распаковать как zip

setup.py

Setup.py часто используется для установки исходного кода. Поскольку официальный веб-сайт pypi загружает пакет очень медленно, некоторые люди предпочтут загрузить и установить его, а некоторые люди загрузят исходный код на GitHub для установки. Setup.py часто используется с последним.

установка:

1. Загрузите zip и разархивируйте;
2. Откройте cmd и введите путь после распаковки;
3. Выполните последовательно следующие коды.

Команда выглядит следующим образом:

Путь, по которому хранится установочный пакет Windows: \ Lib \ site-packages в пути установки python.

Путь для Linux должен быть: /usr/lib/python2.7/site-packages. (Путь не обязательно, в зависимости от ситуации, некоторые могут находиться в / usr / local / lib)

Недостатки:

Но этот метод установки имеет очень большую проблему, то есть пакет, установленный с помощью этого метода, не может быть полностью удален с помощью pip uninstall.

В Интернете есть способ удаления, но я пробовал его не очень эффективно:

Удалить

В общем, не рекомендуется использовать этот тип, на самом деле pip также может напрямую установить сжатый пакет, о чем мы поговорим позже.

easy_install

Если мы хотим использовать easy_install, нам сначала понадобятся инструменты настройки. Конечно, текущая версия идет вместе с ним. Python 3.6 и более поздние версии немного отличаются, что будет обсуждаться позже.

Но все же могу упомянуть:

1. Откройте официальный сайтhttp://pypi.python.org/pypi/setuptools На данный момент в последней версии есть только два формата whl и zip (раньше был exe, а сейчас вроде нет, но теперь мне кажется, что так удобнее).

Но предпосылка whl заключается в использовании pip для установки, а иногда и pip, нам может потребоваться использовать easy_install для установки, мы не часто используем easy_install с pip, поэтому мы можем загружать только zip.

2. После загрузки разархивируйте, вы найдете внутри easy_install.py и setup.py, которые можно использовать напрямую.
Если это exe-файл, дважды щелкните файл ez_setup.py, чтобы установить его после установки, или выполните команду в cmd:

После установки easy_install его можно использовать для установки пакета, но рекомендуется добавить путь easy_install в переменную среды PATH, в противном случае вам нужно будет вводить путь каждый раз при установке пакета.

Как использовать easy_install, например, установить pip, просто добавьте имя пакета напрямую:

Удалить

Обновить

использовать

Установить tar.gz и zip с помощью pip проще всего, распаковывать не нужно, первые два тоже нужно распаковать.

Пакетная установка

Иногда вы обнаружите, что если вы хотите установить файл wheel при отсутствии сети, в прямом пипе будет ошибка. Есть способ, и он может быть пакетным, который заключается в использовании файла requirements.txt. Однако перед этим нам все еще нужно знать, что причина, по которой мы не можем установить файл wheel, заключается в том, что собственный питон не поддерживает загруженный файл whl.

1. Мы загрузим все пакеты, включая whl, tar.gz и т. Д.
2. Затем запишите версию пакета в файл requirements.txt и сложите их.
3. Вы можете выполнить команду напрямую или записать команду в сценарий.

Команда выглядит следующим образом:

Массовое удаление

wheel

1. Формат наименования пакета колес

Первые два представляют имя и версию пакета соответственно.Трёхэлементные кортежи, выводимые из ранее просмотренной версии колеса, представляют .

py-no расширение для конкретной реализации
cp-CPython, который является широко используемой реализацией Python.
ip-IronPython, реализация Python, работающая на платформе Windows CLI.
pp-PyPy, реализация Python с JIT
jy-Jython, реализация Python, работающая на JVM

Например, py2 и py3 в белом имени запроса представляют поддержку py2.x и py3.x соответственно. Если две существуют одновременно, это означает, что поддерживаются обе версии, разделенные знаком «.».

Честно говоря, я не совсем понимаю, что это такое, знаю только, что он делится на следующие категории:

Если нет возможности определить тип abi при упаковке, сгенерированный тег abi будет отсутствовать. Если пакет Python представляет собой чистую реализацию Python, которая не полагается на конкретный abi, сгенерированный тег abi также не имеет значения.

Большая часть того, что мы загружаем, похоже на окончание mu, например cp27mu.

win32-Windows32 бит
win_amd64 —— 64-разрядная версия Windows.
linux_i386-Linux 32 бит
linux_x86_64 —— Linux64 бит
любой —— любой

2. Какие типы файлов wheel поддерживает среда Python?

Просмотреть версии ниже pip10:

Просмотреть версии выше pip10:

Вы можете увидеть картинку:
Расширение whl что это. Смотреть фото Расширение whl что это. Смотреть картинку Расширение whl что это. Картинка про Расширение whl что это. Фото Расширение whl что это
Как видите, это список кортежей из нескольких групп. Вам знакомы три элемента в нем? Давайте посмотрим на имя файла колеса, например запросы:

Конечно, последнее невозможно увидеть при выполнении на Python в Windows.

Скачать исходный код

Источник загрузки внутреннего официального сайта pypi иногда медленный, мы можем указать источник

Домашние зеркала на данный момент имеют:

Адрес загрузки сторонней библиотеки

Различия в методах установки pip до и после python3.6

Существует большая разница между Python 3.6 и предыдущими версиями (включая 2.x и 3.x до 3.6). После установки каталог Scripts пуст, и возникает ошибка, когда мы хотим выполнить пакет обновления:

conda

Когда я познакомился с python через 16 лет, изучение поисковых роботов было почти прекращено из-за установки сторонних библиотек, особенно фреймворка Scrapy.Позже я обнаружил такую ​​хорошую вещь с Anaconda через некоторое время.

Если вы хотите установить Anaconda для py2 и py3 вместе, просто установите один из них в другой уже установленный путь envs.

virtualenv

Что касается установочного пакета, если вы чувствуете, что его все равно нельзя установить, использование виртуальной среды также является хорошим выбором.

Источник

У меня проблемы с установкой пакета Python (в частности, JPype1 0.5.7) на мой компьютер с Windows, и я хотел бы установить его с помощью бинарных файлов Christoph Gohlke’s Window. (Что, по моему опыту, облегчило большую часть суеты для многих других установок пакетов.)

Примечания

16 ответов

Я просто использовал следующее, что было довольно просто. Сначала откройте консоль, затем перейдите к тому месту, где вы скачали свой файл, например some-package.whl, и используйте

Примечание: если pip.exe не распознается, вы можете найти его в каталоге «Scripts», откуда был установлен python. Если pip не установлен, эта страница может помочь: Как установить pip в Windows?

Примечание: для уточнения
Если вы копируете файл *.whl на свой локальный диск (например, C: \ some-dir \ some-file.whl ), используйте следующие параметры командной строки:

В случае, если вы не можете установить конкретный пакет напрямую, используя PIP.

Следуйте инструкциям, чтобы импортировать модуль

3. Теперь введите команду, написанную ниже

Нажмите Enter и убедитесь, что вы ввели версию, которую вы используете в настоящее время с правильной имя файла.

Как только вы нажмете ввод, подождите несколько минут, и файл будет установлен, и вы будете быть в состоянии импортировать конкретный модуль.

Чтобы проверить, успешно ли установлен модуль, импортируйте модуль в режиме ожидания и проверь это.

(Ранее я запускал sudo port install py27-pip py27-wheel для установки pip и wheel сначала в мою установку на python 2.7.)

Загрузите пакет (.whl).

Поместите файл в папку скриптов каталога python

Используйте командную строку для установки пакета.

Вы должны запустить pip.exe из командной строки на моем компьютере. Я печатаю C:/Python27/Scripts/pip2.exe install numpy

РЕДАКТИРОВАТЬ: ЭТО НЕ ДЛИННЕЕ ЧАСТЬ PIP

Чтобы избежать необходимости загружать такие файлы, вы можете попробовать:

Для получения дополнительной информации см. Это.

На сайте великого Кристофа Гольке есть несколько версий файлов.

При установке колес с этого сайта я считаю важным сначала запустить его из консоли Python:

Так что вы знаете, какую версию вы должны установить для своего компьютера. Выбор неправильной версии может привести к сбою установки пакета (особенно если вы не используете правильный тег CPython, например, cp27).

Во-первых, убедитесь, что вы обновили пип, чтобы включить поддержку колес:

Затем для установки с колеса укажите каталог, в который загружается колесо. Например, чтобы установить package_name.whl :

Я в той же лодке, что и ОП.

С помощью командной строки Windows из каталога:

Затем проверьте версию pip :

Если это показывает 6.x ряд, есть поддержка колеса.

Только тогда вы можете установить пакет с колесом так:

Конечно, вы также можете установить пакеты из PyPI, например,

Чтобы иметь возможность устанавливать файлы колес с помощью простого двойного щелчка на них, вы можете сделать следующее:

1) Запустите две команды в командной строке с правами администратора:

2) Кроме того, их можно скопировать в файл wheel.bat и выполнить с помощью флажка «Запуск от имени администратора» в свойствах.

PS pip.exe предполагается в PATH.

(1) Они могут быть объединены в одну строку:

Также его вывод можно сделать более подробным:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *