我是一个蟒蛇新手,我正在使用“学习Python的艰难之路”这本书。书中的练习25要求我们将python模块导入python解释器。
我使用“/ usr / bin / python”来调用解释器:
S-MacBook-Air:~ s$ /usr/bin/python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
但导入文件时出错:
>import ex26_test
>>Traceback (most recent call last):
>>File "< stdin >", line 1, in < module >
>ImportError: No module named ex26_test
该文件位于以下文件夹中 (〜/文档/ 1Webdev / LPTHW / ex26_test.py)
如何将模块“ex26_test”导入解释器?
提前谢谢! SD
答案 0 :(得分:0)
当导入名为spam的模块时,解释器首先进行搜索 对于具有该名称的内置模块。如果没有找到,则搜索 对于由。给出的目录列表中名为spam.py的文件 变量sys.path。 sys.path从这些位置初始化:
1)包含输入脚本(或当前目录)的目录 没有指定文件时)。
2)PYTHONPATH(目录名列表, 使用与shell变量PATH相同的语法。 3)依赖于安装的默认值。
python module import documentation
所以你可以cd到~/documents/1Webdev/LPTHW
并从那里运行python。
答案 1 :(得分:0)
在sys.path
中添加了模块的路径import sys
sys.path.append(r'~/documents/1Webdev/LPTHW')
import ex26_test
答案 2 :(得分:0)
你需要在文件所在的同一文件夹中打开python,因为python无法看到sys.path
中没有的文件夹。当然有办法暂时或永久地将该文件夹添加到我将在片刻中显示的sys.path
解决方案1 :移动到该文件夹,使用de cd
(更改目录)命令来执行此操作,应该看起来与此类似:
$ cd ~/documents/1Webdev/LPTHW
$ ~/documents/1Webdev/LPTHW: python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ex26_test
>>>
请注意,如果您的python配置正确,您应该只需输入python
解决方案2 :将该文件夹添加到sys.path
以执行此操作,打开python并执行以下操作
>>> import sys
>>> sys.path.append("~/documents/1Webdev/LPTHW")
>>> import ex26_test
>>>
这是临时解决方案,但无论你在哪里打开python
,它都会有效 解决方案3 :永久地将该文件夹添加到sys.path
,为此您需要修改/创建环境变量PYTHONPATH,我不知道该怎么做在mac中,但它不应该那么困难,在这方面,其中一些应该是有用的:https://stackoverflow.com/search?q=pythonpath+on+mac特别是这看起来是正确的:How can I edit PYTHONPATH on a Mac?
答案 3 :(得分:0)
好的,应该很容易,但以前的答案并没有给出所有的解决方案。您可以使用 sys.path 函数查看 python 在哪里找到它的模块,但在使用它之前,您必须导入模块 sys :
>>> import sys
>>> print(sys.path)
接下来,您必须使用 commande path.append 添加模块所在的文件夹
>>> sys.path.append("~/documents/1Webdev/LPTHW")
并加载您的模块:
>>> from ex26_test import *
现在您可以访问 ex26_test.py 文件中定义的所有函数。