Python 在Mac上导入shell中的模块

Python 在Mac上导入shell中的模块,python,python-import,python-module,Python,Python Import,Python Module,我最近开始阅读Mark Lutz的第四版《学习Python》。我下载了最新版本的Python(v3.7)和IDLE,并且在Mac上运行。我在尝试导入模块时遇到问题。 在第54页,它说用以下代码创建一个脚本threenames.py: a = 'dead' b = 'parrot' c = 'sketch' 我已经在我的桌面上保存了这个。接下来,我打开一个shell: import threenames 并且输出应该是死鹦鹉草图 但是,我收到了错误消息: 回溯(最近一次呼叫最后一次):

我最近开始阅读Mark Lutz的第四版《学习Python》。我下载了最新版本的Python(v3.7)和IDLE,并且在Mac上运行。我在尝试导入模块时遇到问题。 在第54页,它说用以下代码创建一个脚本threenames.py:

a = 'dead' 
b = 'parrot' 
c = 'sketch'
我已经在我的桌面上保存了这个。接下来,我打开一个shell:

import threenames
并且输出应该是
死鹦鹉草图
但是,我收到了错误消息:

回溯(最近一次呼叫最后一次):

输入三个名字

ModuleNotFoundError:没有名为“threenames”的模块


我的
系统路径是['''/Users/xxxx/Documents'、'/Library/Frameworks/Python.framework/Versions/3.7/lib/Python.37.zip'、'/Library/Frameworks/Python.7/Python.framework/Versions/3.7/lib/Python.7/lib-dynload'、'/Library/Frameworks/Versions/Python.3.7/site-packages']

由于您的桌面文件夹位于
/Users/xxx/Desktop
,并且未列在
sys.path
中,您可以将文件移动到
/Users/xxx/Documents
(主目录中的Documents文件夹)或者在启动python之前,在shell中做一个
cd~/Desktop
,因为
sys.path
包含
'
,它指的是当前的工作目录

但是,仅导入该模块不会使这些变量在shell中可访问,您必须显式导入它们:

from threenames import a, b, c

文件必须在当前的工作目录中。然后导入它是没有问题的。有两种方法可以实现这一点

  • 只需从存储.py文件的同一文件夹中打开pythonshell即可。工作目录始终设置为启动pythonshell的位置

  • 只需在代码中更改您的工作目录。只需调用:

    导入操作系统 chdir(“/directory/with/your/pyfile/”)


  • 从何处打开外壳?如果不是
    Users/xxxx/Desktop
    ,python将无法找到您的模块-系统搜索当前目录,然后搜索sys.path
    ,就是这样。您需要从其他位置打开python外壳,或者将
    threenames.py
    移动到python所在的位置能够看到它(例如,到
    /Users/xxx/Documents