Проблемы установки python-magic для 64-битной Windows 10 с 32-битной сборкой Python 2.7

Несмотря на чтение файла для модуля, я продолжаю получать "магические файлы не найдены". В файле readme и разделе "Зависимости" говорится:

В Windows скопируйте magic1.dll, regex2.dll и zlib1.dll в PATH из ZIP-файлов "Двоичные файлы и зависимости", предоставленных проектом "Файл для Windows". Вам нужно будет скопировать файл magic из [binary-zip]\share\misc и передать его местоположение в Magic(magic_file=...). Если вы используете 64-битную сборку Python, вам потребуется 64 -битные двоичные файлы libmagic, которые можно найти здесь: https://github.com/pidydx/libmagicwin64 (примечание: не проверено).

Следующие разъяснения будут полезны:

1) Предоставленная ссылка " Файлы для Windows" содержит ссылку на "file-5.03-bin.zip" (с надписью "Binaries"), ссылку на "file-5.03-dep.zip" (с надписью "Зависимости") и ссылку. в правом нижнем углу "file-4.26-dep.zip", который также помечен как "файл зависимостей". Я предполагаю, что последнее является ошибкой, которая должна указывать на 5.03-dep, а не на другой второй файл зависимостей, который требуется. Правильный?

2) Кажется, что есть 32-битная версия и 64-битная версия файлов зависимостей. Я не знаю, какую версию использовать с 64-битной Windows, кроме 32-битной версии Python. Приведенные выше инструкции говорят о 64-битном Python, но это говорит о 64-битной Windows. Что я должен установить?

3) Выше сказано, чтобы поместить DLL в PATH; в 64-битных инструкциях написано, что нужно поместить их в C:\Windows\System32. Имеет ли это значение, пока папка PATH'd? (Кто-то еще предположил, что именно НЕ помещать их в \ Windows \ System32 помогло: Ошибка установки Python-magic - ImportError: не удалось найти libmagic).

4) Вышесказанное предполагает, что единственный другой файл, необходимый в двоичных файлах и зависимостях, кроме 3-х DLL, - это файл magic, Так что мне тоже не нужен файл magic.mgc, который также находится в двоичном zip\share\misc? Мне также не нужны какие-либо другие файлы в этих двух ZIP-файлах, например, файл file?

5) Выше предложено получить файл magic из двоичного ZIP и поместите его путь в строку кода, которая говорит: Magic(magic_file=...), Я предполагаю, что это на самом деле magic.Magic(magic_file='C:\path\goes\here\magic') И я предполагаю, что это может пойти куда угодно в файловой системе.

6).. и я предполагаю, опять же, я указываю на файл magic а не файл magic.mgc,

Верны ли эти предположения?

2 ответа

Я понял, чего мне не хватало. Я опубликую это здесь на случай, если кто-то еще сойдет с ума.

pip install python-libmagic

pip install python-magic-bin

Install Visual C (VCforPython.msi from [Microsoft website][1])

1) Да, я думаю, что вы должны загрузить 5.03. Не 4.26.

2) Если у вас 32-битный Python, скачайте 32-битный материал.

3) Пока dll находятся в системной переменной PATH, все в порядке.

4) Да. Я думаю, вы правы.

5) Я думаю, что это правда.

6) это совершенно разные файлы. магия кажется правильной, потому что она содержит настройки и информацию о том, что магия должна делать.

Другие вопросы по тегам