Ответ 1
Quandl - это чистый дистрибутив Python (содержащий только код Python), поэтому, когда вы получаете ошибку нарушения прав доступа в import quandl
, это может означать:
- ваша установка Python нарушена, что здесь не так, как вы упомянули другие пакеты, работающие, или что
- Quandl импортирует некорректную зависимость.
В вашем случае это pandas
вызывает проблему. Прежде всего, проверьте, какие отчеты о платформе /ABI-тегах pip
на вашем компьютере:
-
pip<10
:$ python -c "import pip; print(pip.pep425tags.get_impl_tag())" $ python -c "import pip; print(pip.pep425tags.get_abi_tag())" $ python -c "import pip; print(pip.pep425tags.get_platform())"
-
pip>=10
:$ python -c "import pip._internal as pip; print(pip.pep425tags.get_impl_tag())" $ python -c "import pip._internal as pip; print(pip.pep425tags.get_abi_tag())" $ python -c "import pip._internal as pip; print(pip.pep425tags.get_platform())"
Обязательно используйте правильную версию Python, если у вас несколько установленных (проверка версии с помощью python --version
); замените python
на py -2
или py -3
если это необходимо.
Тег impl является аббревиатурой для вашей реализации Python, обычно CPython; например, cp35
означает CPython основной версии 3.5 и т.д. Тег ABI состоит из трех частей: аббревиатура реализации Python, версия impl (такая же, как в теге Python) плюс флаги ABI (например, m
если ваш Python impl был построен с --with-pymalloc
т.д.). Платформа должна быть либо win_amd64
для 64-битной Windows, либо win32
для 32-разрядной версии.
Теперь проверьте, есть ли колесо с предварительно скомпилированными расширениями, доступными для вашей платформы: перейдите в https://pypi.org/project/pandas/#files и просмотрите список файлов. Найдите файл pandas-0.23.4-{impl tag}-{ABI tag}-{platform tag}.whl
.
Колеса PyPI
Если есть файл колес, подходящий для вашей текущей платформы, скопируйте его ссылку и запустите:
$ pip uninstall -y pandas
$ pip install https://copied-link-to-wheel-file
Если pip uninstall
не удастся, запустите
$ pip install --force-reinstall https://copied-link-to-wheel-file
вместо.
сторонние колеса
Если в PyPI нет колесика, вы можете искать другие источники колес; Часто https://www.lfd.uci.edu/~gohlke/pythonlibs содержит готовые диски для Windows. Посмотрите список доступных здесь колес pandas
. Если колесо соответствует вашей платформе, загрузите его и запустите
$ pip uninstall -y pandas
$ pip install c:/path/to/downloaded/wheel/file.whl
построение из источника
Если для вашей платформы нет колес, вам нужно построить pandas
из источника. В этом случае вам необходимо установить компилятор C (Visual C++ инструменты сборки в Windows) и запустить:
$ pip uninstall -y pandas
$ pip install pandas --verbose --no-cache-dir --no-binary=pandas --global-option="--inplace"
Не забудьте установить правильные инструменты сборки Visual C++, например, для Python 3.7 требуется версия 2017, в то время как для Python 3.4/3.5/3.6 требуется версия 2015 года. Кроме того, убедитесь, что у вас есть последняя версия setuptools
; при необходимости обновить:
$ pip install --upgrade setuptools
Возможно, было бы целесообразно скопировать и сохранить журнал сборки, если у вас возникнут какие-либо проблемы после установки, вы можете получить ключ от предупреждений, выпущенных при сборке.
Теперь установите pytest
и запустите тесты для проверки установки:
$ pip install pytest
$ python -c "import pandas; pandas.test()"
Если тесты терпят неудачу, и вы загрузили колесо из PyPI, откройте новую проблему в pandas
' Github repo, поскольку колесо должно поддерживаться на вашей платформе, но это не так. В обоих случаях (установка сторонних колес или создание из источника) вы сами по себе. Если вы строите источник, задайте здесь еще один вопрос, предоставляя полный журнал построения.