【问题标题】:distutils and pygame for python 3.7 on a machine running python 3.8在运行 python 3.8 的机器上用于 python 3.7 的 distutils 和 pygame
【发布时间】:2020-08-31 01:41:39
【问题描述】:

我对 Ubuntu 还是很陌生。在我的机器上,运行带有 Python 3.8 的 Ubuntu 20.04,我试图运行一个不支持 Python 3.8 的程序,但它需要 Python 3.7(仅供参考,它是 Carla Simulator)。

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

现在,我已在 3.8.2-1ubuntu1 版本中正确安装和更新了 distutils。 我有什么办法可以安装与 Python 3.7 兼容的distutils 版本而不影响 Python 3.8 和相关模块?或者你有什么好的建议来获取 Python 3.7 的 pygame 并以某种方式运行 Carla?虚拟环境有帮助吗?

我的问题与How to install python-distutils 的问题非常相似,但我实际上并不需要 distutils,我只需要该程序即可工作...

谢谢

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

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

python3.7
Reverse Depends:
  python3.7-minimal

完全卸载当前的 Python3.7 并重新安装以希望获得 ensurepip 是否安全?有什么建议的代码可以安全地做到这一点吗?

【问题讨论】:

    标签: python ubuntu pygame distutils carla


    【解决方案1】:

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

    pyenv local 3.7.2
    

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

    pipenv install
    

    然后开始构建游戏的旅程。

    希望有帮助。

    【讨论】:

    • 我没办法使用它。找不到pyenv 命令。相反,使用pyvenv,我收到了通过sudo apt install python3-venv 安装它的建议。运行线路,我发现它已经安装了......
    【解决方案2】:

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

    【讨论】:

    • 感谢您的回答。不幸的是,使用 virtualenv 我得到另一个与缺少distutils 有关的错误。改用 venv ,我得到了另一个我在我的问题中报告的错误。使用 3.8 没问题,但我无法使用其他版本启动 venv。
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    相关资源
    最近更新 更多