更新到较新的 Python 版本后,如何迁移所有包、设置、用户数据等?

更新到较新的 Python 版本后,如何迁移所有包、设置、用户数据等?

我刚刚在 Windows 10 上安装了 Python 3.10,但我的所有脚本都无法运行。例如,当我执行以下代码时,jupyter notebook我得到了

'jupyter' is not recognized as an internal or external command,
operable program or batch file.

我一直在使用 Python 3.9,所有脚本仍然位于 中。但是,除了 之外C:\Program Files\Python39\Scripts, 中什么都没有。C:\Program Files\Python310\Scriptspip

为了解决这个问题,我卸载了 Python 3.10,只留下 3.9。但这没有帮助——这意味着安装较新的 Python 版本将导致整个开发框架崩溃

问题:

  • 让一切恢复运行的最佳方法是什么?我是否必须将所有内容从 3.9 目录迁移到 3.10 目录?也就是说,只需将文件\Scripts夹的内容复制到较新的版本就足够了吗?还是还有更多文件夹分散在各处?
  • 那么对包进行的所有定制(例如,中的用户设置)Jupyter如何保存/迁移呢?

我有点惊讶 Python 不会自动处理这个问题,即保持自身“无状态”并将所有包保存到单独的(“有状态的”)用户文件夹中,然后自动将此用户文件夹添加到 Python 路径中。更新会破坏整个开发框架,这不是非常不负责任吗?

现在的处理方式似乎会降低工作效率。每次有新的 Python 版本时,我都不想重新安装和重新配置我的整个代码库、所有包、依赖项、设置等。一定一定有一种“正统”的方式来妥善处理这个问题吗?

答案1

我可以报告,在拯救我的工作系统方面取得了部分成功:卸载较新的 Python 版本,删除所有新添加的 PATH 条目并重新启动似乎至少可以让 Jupyter 恢复运行。

这意味着安装较新的 Python 版本只会柔软的— 破坏你的系统。删除更新可能会恢复旧版本的功能。也许这会帮助那些正在为同样问题而苦恼的人。

当然,这并不能解决更新和迁移您的软件包的问题,​​或者不能解决“移动您的内容”的正确、规范、正统的方法。

结论“总体而言,Python 打包是一个非常混乱的生态系统 (...) 它可能是同类中最糟糕的。”

相关内容