在运行Python3.8的机器上运行Python3.7的distutils和pygame

2024-03-29 13:55:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Ubuntu还很陌生。在我的机器上,用Python3.8运行Ubuntu20.04,我试图运行一个不支持Python3.8的程序,但它需要Python3.7(仅供参考,它是Carla模拟器)

我需要pygame,但通过pip(python3.7 -m pip install pygame)安装时会出现错误: ModuleNotFoundError: No module named 'distutils.util'

现在,我已经在3.8.2-1ubuntu1版本上正确安装并更新了distutils。 我有没有办法在不影响Python 3.8和相关模块的情况下安装与Python 3.7兼容的distutils版本?或者你有没有建议让pygame支持Python 3.7并以某种方式运行Carla?虚拟环境有帮助吗

我的问题和这个很相似,但我实际上不需要distutils,我只需要程序工作

多谢各位

-----编辑------

我尝试使用venv创建一个虚拟环境,但由于EnsureIP不可用而出现错误。通过谷歌搜索,我发现这可能与我的Python3.7版本可能是通过Anaconda安装的有关(我真的不记得了)。运行apt-cache rdepends python3.7我得到:

python3.7
Reverse Depends:
  python3.7-minimal

完全卸载当前的Python3.7并重新安装以获得EnsureIP安全吗?有没有安全地执行此操作的建议代码


Tags: installpip程序版本机器ubuntu错误虚拟环境
2条回答

对于您来说,最简单的解决方案是在虚拟环境中运行您的程序,我认为在虚拟环境中您可以将默认的python版本指定为3.7(请参见Use different Python version with virtualenv以获取示例)。然后,您可以在这个环境中安装所有依赖项,而不必在Python上处理两个版本之间的任何冲突

使用pyenv可以指定要使用的python版本。 例如: 创建一个新文件夹并点击:

pyenv local 3.7.2

然后使用pipenv创建虚拟环境:

pipenv install

然后开始构建游戏的旅程

希望能有所帮助

相关问题 更多 >