Ошибки поэзии и версии Python при обновлении с Python 2.7 до 3.7
Я начал обучение, чтобы научить себя питону. Проект начался на моем Mac с Python 2.7 в качестве установленной версии. По совету друга я установил поэзию для обработки зависимостей. Это сработало очень хорошо.
Вскоре я понял, насколько устаревшим был Python 2.7, и попытался обновить его. Я сделал это через доморощенный, и это, казалось, сломало много. python --versoin
покажет 2.7 и хотя могу позвонить python3 --version
и вижу правильный, мой проект все еще, кажется, застрял на 2.7, даже когда #!/usr/bin/env python3
находится в верхней части файлов. Что еще хуже, делая poetry up
Я не буду обновлять мою зависимость от Python в проекте, и изменение этого значения в pyproject.toml все тормозит. У меня есть зависимость, которая, кажется, сломалась на этом пути, но я ничего не могу с этим поделать с разбитым беспорядком поэзии / версии на питоне. Ошибка ниже от стихов.
Итак, взяв это сверху, как мне заставить вещи начать использовать правильную версию python?
Мой bash_profile имеет
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
poetry install
[EnvCommandError]
Command ['/Users/username/Library/Caches/pypoetry/virtualenvs/PyGameEngine-py2.7/bin/python', '-'] errored with the following return code -6, and output:
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /Users/username/Library/Caches/pypoetry/virtualenvs/PyGameEngine-py2.7/bin/python
Reason: image not found
input was : import sys
if hasattr(sys, "real_prefix"):
print(sys.real_prefix)
elif hasattr(sys, "base_prefix"):
print(sys.base_prefix)
else:
print(sys.prefix)
0 ответов
Копирую мой ответ отсюда
Интересно, что поэзия молча терпит неудачу из-за отсутствия пакета, на который полагается сам инструмент и продолжает устанавливать сломанный venv. Вот как это исправить.
sudo apt install python3-venv
poetry env remove python3
poetry install
Мне пришлось удалить pytest, а затем переустановить с помощью poetry add pytest
.
РЕДАКТИРОВАТЬ: я снова столкнулся с этой проблемой при обновлении проекта с python3.7 до python3.8 - для этого вместо установки python3-venv
, вы хотите установить python3.8-venv
вместо
Если у вас все еще есть проблемы (а именно, обновление ваших пакетов для совместимости с python3, вы можете взглянуть на этот ответ)