【发布时间】:2020-11-03 03:26:06
【问题描述】:
一开始,我将安装在/../python3.7/site-packages中的python模块手动移动到了新的/../python3.8/site-packages目录中。
为了概括以下问题,我引入以下命名法:初始(较低)python 版本将由 3.x 表示,较新版本由 3.y 表示。 在我的例子中,x=7 和 y=8。
在手动将 3.x 站点包移动到 3.y 站点包目录后,我发现在使用新的 python 版本 3.y 执行 python 脚本时,在调用特定模块时出现某些错误,例如 @987654324 @、scipy、matplotlib 等。
最后为我完成的非常不雅的解决方法只是python -m pip uninstall packagename,然后是python -m pip install packagename,即简单地卸载,然后重新安装它。这样,错误就消失了。
幸运的是,我不必对所有 100 多个包都执行此操作,仅 10 个左右的包就相当必要了。
不过,对于未来,我想知道如何更优雅地将软件包从前者迁移到当前的 python 版本,并在需要的地方自动更新。
系统细节:
- 操作系统:
Linux Ubuntu 18.04 LTS - Python:
Python 3.8.3(默认,2020 年 7 月 9 日,19:37:58) [GCC 5.4.0 20160609] 在 Linux 上 (通过linuxbrew/ homebrew 维护) - 编辑:
VS Code
【问题讨论】:
-
当。我希望有人回答了这个问题。我现在有完全相同的问题。你是如何让 Pip 将新下载的东西安装到 3.8/ 而不是 3.7/ 的?
-
下面的讨论会让你感兴趣,
pip将在哪里安装包:stackoverflow.com/questions/29980798/… 在我的例子中,pip 自动指向最新的 python 站点包目录。这也与我设置的环境变量有关。然后,使用python -m pip install packagename(优先于pip install packagename)。 -
@FrankYellin 我终于找到了解决方案,请参阅下面的答案。
标签: python-3.x pip pythonpath site-packages linuxbrew