Проблема импорта xlrd с Python 2.7
У меня есть задание для чтения данных excel в Python. У меня установлен Python 2.7. Я попытался установить xlrd0.8.0 со следующими командами в Windows.
C:\Python27\xlrd-0.8.0>python setup.py build
running build
running build_py
creating build
creating build\lib
creating build\lib\xlrd
copying xlrd\biffh.py -> build\lib\xlrd
....
C:\Python27\xlrd-0.8.0>python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
running install_egg_info
Writing C:\Python27\Lib\site-packages\xlrd-0.8.0-py2.7.egg-info
Во время установки я не получаю сообщение об ошибке. Я также вижу папку xlrd-0.8.0 в папках сайта в папке /lib...
Но когда я пытаюсь импортировать его, Python не может его распознать...
>>> import xlrd
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import xlrd
ImportError: No module named xlrd
Можете ли вы предложить, как найти проблему?
Ответы
Ответ 1
Как воспроизвести и исправить эту ошибку:
Откройте интерпретатор python, попробуйте импортировать xlrt, вы получите сообщение об ошибке:
python
>>> import xlrt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named xlrt
1. Установите или убедитесь, что установлен протокол:
Что является официальным "предпочтительным" способ установки pip и virtualenv в масштабах всей системы?
2. Установите xlrd
pip install xlrd
Protip: Если вы чувствуете, что вам нужно использовать sudo pip install ....
, чтобы заставить это работать, вам нужно остановиться и узнать, почему это опасно. Смотрите: Каковы риски запуска 'sudo pip'?
Обходные пути - установить пип с помощью определенного пользователя: pip install --user myuser ...
используйте ваше собственное лучшее суждение здесь. Убедитесь, что каталог, в котором работает ваш пип, принадлежит пользователю, который пытается установить там пакеты. Используйте: chown -R $USER /Library/Python/2.7/site-packages
.
3. Проверьте его на интерпретаторе python:
python
>>> import xlrd
>>> type(xlrd)
<type 'module'>
>>>
Теперь он импортируется без проблем, xlrd - это модуль python.
Устранение неполадок:
Если ваш PYTHONPATH не определен, вы должны определить его:
PYTHONPATH=:/home/el/wherever/where_to_find_modules
Ответ 2
Разрешение проблемы с импортом xlrd в Python 2.7
откройте эту ссылку https://bootstrap.pypa.io/get-pip.py и сохраните как get-pip.py и скопируйте этот файл в C:\Python2.7\
C:\Python2.7\python.exe get-pip.py
После этого в вашей системе будет установлен xprd
C:\Python2.7\python.exe -m pip install xlrd
Открыть python и импортировать xlrd
import xlrd
он будет работать.
Ответ 3
Если вы используете conda,
conda install xlrd
Ответ 4
Пожалуйста, добавьте "C:\Python27\Lib\site-packages \" к вашему PYTHONPATH в системных переменных.
Если такой SYSTEM VARIABLE нет, создайте его:
- Щелкните правой кнопкой мыши значок "Мой компьютер" на рабочем столе и выберите "Свойства".
- Перейдите на вкладку "Дополнительно", затем нажмите кнопку "Переменные среды".
- В разделе "Системные переменные" нажмите "Создать".
- Введите имя переменной как PYTHONPATH.
- Введите значение переменной как C:\Python27\Lib\site-packages\
- Нажмите "ОК".
- Нажмите "Применить изменения".
Ответ 5
Для меня, запуская python в spyder на mac, он не работал даже после того, как я установил xlrd
с помощью pip, потому что он был установлен в другое место, чем тот, который использовал spyder. Чтобы исправить это, я сначала обнаружил, где xlrd
был установлен:
$pip install xlrd
Requirement already satisfied: xlrd in /usr/local/lib/python2.7/site-packages
Затем скопировал папку xlrd
туда, где Spyder мог получить к ней доступ:
$cd /Applications/Spyder.app/Contents/Resources/lib/python2.7/
$cp -r /usr/local/lib/python2.7/site-packages/xlrd.
Затем обновил модуль в spyder, но я не уверен, что это было необходимо. Перезапуск Spyder, возможно, также работал после внесения этих изменений.
Ответ 6
У меня была такая же проблема, кажется, что лучше, если вы экспортируете xlsx в файл csv, а затем запустите на python следующее:
df = pd.read_csv('FileName.csv')
Он должен работать так. Если вы используете iPython или даже лучше Jupyter, запустите df.head()
, чтобы проверить, правильно ли читает ваш файл pandas.
Заметьте, я использую Ubuntu