man*_*222 5 upgrade python-2.7 python-3.x python-poetry
我已经开始学习自学 Python。该项目在我的 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 版本进行任何处理。错误在下面的诗中。
所以从顶部开始,我如何开始使用正确版本的python?
我的 bash_profile 有
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
从这里复制我的答案
有趣的是,由于该工具本身所依赖的软件包丢失,诗歌正在默默地失败,并继续安装损坏的 venv。以下是修复方法。
sudo apt install python3-venv
poetry env remove python3
poetry install
Run Code Online (Sandbox Code Playgroud)
我必须删除 pytest,然后使用poetry add pytest
.
编辑:当将项目从 python3.7 升级到 python3.8时,我再次遇到了这个问题 - 为此而不是安装python3-venv
,你需要安装python3.8-venv
如果您仍然遇到问题(即升级您的软件包以兼容 python3,您可能需要看看这个答案)
归档时间: |
|
查看次数: |
1553 次 |
最近记录: |