【问题标题】:easy SublimeText question regarding pygame module关于 pygame 模块的简单 SublimeText 问题
【发布时间】:2019-12-20 19:14:51
【问题描述】:

我一直在 OSX 上使用 SublimeText 没有问题...直到我尝试导入 pygame。几行简单的代码,如:

print("Hello")
import sys
import pygame

得到以下输出:

    Hello
Traceback (most recent call last):
  File "/Users/andrewjmiller/Desktop/python_work/new_file.py", line 5, in <module>
    import pygame
ImportError: No module named pygame
[Finished in 0.0s with exit code 1]
[shell_cmd: python -u "/Users/andrewjmiller/Desktop/python_work/new_file.py"]
[dir: /Users/andrewjmiller/Desktop/python_work]
[path: /Library/Frameworks/Python.framework/Versions/3.8/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/andrewjmiller/anaconda3/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]

但是...我确实安装了 pygame,如下所示:

iMac:~ AndyTheAdmin$ python3 -m pip install --user pygame==2.0.0.dev6
Requirement already satisfied: pygame==2.0.0.dev6 in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (2.0.0.dev6)

我已经卸载并重新安装了 SublimeText3。接下来我应该尝试什么?

【问题讨论】:

    标签: python-3.x pygame sublimetext3


    【解决方案1】:

    您正在成为 Python 2 和 Python 3 之间差异的受害者。特别是,请注意 Sublime 诊断输出中说明失败的命令的行:

    [shell_cmd: python -u "/Users/andrewjmiller/Desktop/python_work/new_file.py"]
    

    Sublime 附带的Python.sublime-build 文件告诉操作系统执行命令python

    在你的例子中它工作的地方(或者更确切地说是你确认安装库的地方):

    iMac:~ AndyTheAdmin$ python3 -m pip install --user pygame==2.0.0.dev6
    

    在这里你正在执行python3。如果您要在终端中输入python --version,那么美元兑甜甜圈,Sublime 正在执行的是 Python 2。不同版本的 Python 将它们的包保存在不同的位置,这就是它在一个地方而不是另一个地方工作的原因。

    假设是这种情况,解决方案是改用执行python3 的构建。如果您已经在使用自定义构建系统,那么您可以直接对其进行修改。如果您使用的是 Sublime 附带的构建,那么创建新构建的最简单方法是:

    1. 使用命令面板中的View Package File 并打开Python/Python.sublime-build 以查看现有构建系统的外观,并将整个内容复制到剪贴板。

    2. 使用Tools &gt; Build System &gt; New Build System,将内容替换为您在上面复制的内容,然后在两个shell_cmd 行中将python 替换为python3,以便它们执行您期望的版本。

    3. 将文件保存在 Sublime 默认的位置(应该是你的 User 包)作为具有适当名称的 sublime-build 文件。

    保存后,构建系统将可用。您可以从Tools &gt; Build System 中选择它以直接使用它,或者如果您将该菜单中的构建系统设置为Automatic,那么下次您进行构建时,Sublime 应该会提示您选择要使用的构建,因为现在有新版本。

    【讨论】:

    • 太棒了....谢谢!这就是问题所在,我很欣赏你的回答对于像我这样的新手来说很容易理解。事实上,OSX 使用的是 2.7,当我在 Sublime 中创建一个指向 Python 3.8 的新 Build 时,一切都解决了。非常感谢!
    猜你喜欢
    • 2011-09-17
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多