Я пытаюсь создать проект Data Science с использованием некоторого набора данных Quandl, но получаю сообщение об ошибке при импорте.

Как я знаю, quandl следует импортировать в нижнем регистре, поскольку в документации указано здесь и здесь, мой импорт выполняется следующим образом:

import quandl

Ошибка:

ModuleNotFoundError: No module named 'quandl'

Я установил quandl, используя pip install quandl. Мой вывод списка пипсов:

Package         Version
--------------- ---------
asn1crypto      0.24.0
certifi         2019.6.16
cffi            1.12.3
chardet         3.0.4
cryptography    2.7
idna            2.8
inflection      0.3.1
more-itertools  5.0.0
ndg-httpsclient 0.5.1
numpy           1.16.4
pandas          0.24.2
pip             19.1.1
pyasn1          0.4.5
pycparser       2.19
pyOpenSSL       19.0.0
python-dateutil 2.8.0
pytz            2019.1
Quandl          3.4.8
requests        2.22.0
setuptools      41.0.1
six             1.12.0
urllib3         1.25.3
wheel           0.33.4
wincertstore    0.2

У меня нет pip3, так как я установил Python через мою установку Anaconda. Я использую ноутбук Jupyter в виртуальной среде, созданной специально для этого проекта. Просто чтобы вы знали, python --version вывод:

Python 3.7.3

Странная часть возникает, когда я пытаюсь запустить однострочный сценарий Python с import quandl. На этот раз программа работает без ошибок, что означает, что причиной ModuleNotFoundError: No module named 'quandl' является блокнот jupyter, который не может правильно найти модуль quandl.

В качестве последнего ресурса я попытался установить quandl внутри ноутбука Jupyter:

!pip install quandl
import quandl

Выход:

Requirement already satisfied: quandl in c:\users\not_me\.conda\envs\quant\lib\site-packages (3.4.8)
Requirement already satisfied: pandas>=0.14 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (0.24.2)
Requirement already satisfied: pyOpenSSL in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (19.0.0)
Requirement already satisfied: inflection>=0.3.1 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (0.3.1)
Requirement already satisfied: numpy>=1.8 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (1.16.4)
Requirement already satisfied: more-itertools<=5.0.0 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (5.0.0)
Requirement already satisfied: pyasn1 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (0.4.5)
Requirement already satisfied: python-dateutil in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (2.8.0)
Requirement already satisfied: six in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (1.12.0)
Requirement already satisfied: ndg-httpsclient in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (0.5.1)
Requirement already satisfied: requests>=2.7.0 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from quandl) (2.22.0)
Requirement already satisfied: pytz>=2011k in c:\users\not_me\.conda\envs\quant\lib\site-packages (from pandas>=0.14->quandl) (2019.1)
Requirement already satisfied: cryptography>=2.3 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from pyOpenSSL->quandl) (2.7)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from requests>=2.7.0->quandl) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from requests>=2.7.0->quandl) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from requests>=2.7.0->quandl) (2019.6.16)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from requests>=2.7.0->quandl) (1.25.3)
Requirement already satisfied: asn1crypto>=0.21.0 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from cryptography>=2.3->pyOpenSSL->quandl) (0.24.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in c:\users\not_me\.conda\envs\quant\lib\site-packages (from cryptography>=2.3->pyOpenSSL->quandl) (1.12.3)
Requirement already satisfied: pycparser in c:\users\not_me\.conda\envs\quant\lib\site-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.3->pyOpenSSL->quandl) (2.19)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-614264e6071a> in <module>
      1 get_ipython().system('pip install quandl')
----> 3 import quandl

ModuleNotFoundError: No module named 'quandl'
0
Jorge Dodsworth 8 Июл 2019 в 19:10

4 ответа

Лучший ответ

Проблема заключалась в том, что Jupyter неправильно распознавал мою виртуальную среду. Я нашел свой ответ здесь, обходной путь довольно понятен ,

0
Jorge Dodsworth 9 Июл 2019 в 23:22

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

python -m pip install quandl

Или, поскольку вы используете Conda, вы также можете попробовать установить quandl с помощью conda CLI.

conda install quandl (или каково бы ни было имя пакета для conda).

0
Edward Minnix 8 Июл 2019 в 17:47

Попробуйте установить его, запустив

!pip install quandl

В клетке в тетради Jupyter. Если у вас все настроено правильно, есть вероятность, что это будет та же версия пипа, которая вам нужна.

0
Edward Minnix 8 Июл 2019 в 18:52

Попробуйте pip3 install quandl. Обычно это работает для Python 3.x

0
Sa'ad Zarook 8 Июл 2019 в 16:19