#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