Проблемы установки 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) это совершенно разные файлы. магия кажется правильной, потому что она содержит настройки и информацию о том, что магия должна делать.