将python模块导入python解释器

时间:2016-10-23 13:11:39

标签: python-2.7

我是一个蟒蛇新手,我正在使用“学习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

4 个答案:

答案 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 文件中定义的所有函数。