Не удается загрузить какую-либо библиотеку Python

#python #python-3.x #cmd #terminal #pip

Вопрос:

Я столкнулся с огромной проблемой.

Мне не удается загрузить какую-либо библиотеку для Python 3. Я также пытаюсь использовать виртуальную среду. Я использую код Visual Studio.

Я обновил pip до последней версии и убедился, что снял все ограничения для запуска сценариев на моем ноутбуке. Теперь, когда я бегу python -m pip install {package name} , он всегда показывает предупреждение и кучу красного текста. Вот результат (который я совершенно не понимаю), когда я попытался загрузить библиотеку novas:

 WARNING: Discarding https://files.pythonhosted.org/packages/6c/6f/9c11a148e744fc9450af3b316c52f5ff0fe3d86e6b4885f3b82aeb67d4f8/novas-3.1.1.tar.gz#sha256=0e120c325c6d96ad6790d7ebf58231bbb4d22ed0d4ec2d1ce72465598989e2d7 (from https://pypi.org/simple/novas/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Using cached novas-3.1.tar.gz (131 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:UsersNameDesktoppython_projectsproject_1venvScriptspython.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Name\AppData\Local\Temp\pip-install-pzup5zic\novas_e22cf354aee142d29041b8892b3ff6f8\setup.py'"'"'; __file__='"'"'C:\Users\Name\AppData\Local\Temp\pip-install-pzup5zic\novas_e22cf354aee142d29041b8892b3ff6f8\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:UsersNameAppDataLocalTemppip-pip-egg-info-_6kpy5wd'
       cwd: C:UsersNameAppDataLocalTemppip-install-pzup5zicnovas_e22cf354aee142d29041b8892b3ff6f8
  Complete output (8 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:UsersNameAppDataLocalTemppip-install-pzup5zicnovas_e22cf354aee142d29041b8892b3ff6f8setup.py", line 10, in <module>
      from asc2eph import *
    File "C:UsersNameAppDataLocalTemppip-install-pzup5zicnovas_e22cf354aee142d29041b8892b3ff6f8asc2eph.py", line 15
      print "Retrieving list of ephemeris files"
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
  ----------------------------------------
 

Пожалуйста, любая помощь будет только приветствоваться

Комментарии:

1. Я предполагаю, что вам каким-то образом удалось установить старую версию asc2eph в свой virtualenv. У меня возникло бы искушение выбросить virtualenv и перестроить его, позаботившись об установке более современной версии asc2eph .

2. @LukeWoodward asc2eph -это файл в библиотеке novas, см. 5-ю строку внизу сообщения об ошибке: "C:UsersNameAppDataLocalTemppip-install-pzup5zicnovas_e22cf354aee142d29041b8892b3ff6f8asc2eph.py", line 15

Ответ №1:

Вы пробовали python3 -m pip install {package} ? Похоже, ваш SO пытается использовать версию Python 2..

Ответ №2:

Как мы видим, ошибка в последней строке

Синтаксическая ошибка: Отсутствуют круглые скобки при вызове «печать». Вы имели в виду печать(…)?

его вызов print без (paranthis) означает, что он использует старую версию Python 2.x, и этот скрипт теперь устарел. Теперь все, что вы можете сделать, это указать версию python в терминале так же, как:

 python3 -m pip install {package name}
 

или

 pip3 install {package name}
 

или

 pip install {package name}
 

Я надеюсь, что все вышеперечисленные команды будут работать нормально.

Ответ №3:

По какой-то причине вы pip пытаетесь установить novas версию с 2012 года:

 Using cached novas-3.1.tar.gz (131 kB)
 

Что несовместимо с python3. Вы можете попробовать указать последнюю версию:

 pip install novas==3.1.1.5