Python 之 ImportError: No module named ***

如果想使用非当前模块中的代码,需要使用Import,这个大家都知道。

如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比如在a.py中使用b.py:

import b

但是如果要import一个不同目录的文件(例如b.py)该怎么做呢? 

首先需要使用sys.path.append方法将b.py所在目录加入到搜素目录中。然后进行import即可,例如

import sys

sys.path.append(‘c:\xxxx\b.py‘) # 这个例子针对 windows 用户来说的

大多数情况,上面的代码工作的很好。但是如果你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是因为:

sys模块是使用c语言编写的,因此字符串支持 ‘\n‘, ‘\r‘, ‘\t‘等来表示特殊字符。所以上面代码最好写成:

sys.path.append(‘c:\\xxx\\b.py‘)

或者sys.path.append(‘c:/xxxx/b.py‘)

这样可以避免因为错误的组成转义字符,而造成无效的搜索目录(sys.path)设置。

如何将路径添加到sys.path?

sys.path是python的搜索模块的路径集,是一个list

可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失了!

可以使用以下命令输入当前python 的搜索路径:

python -c"import sys;print ‘当前的python是:‘+sys.prefix;print ‘\n‘.join(sys.path)"

练习使用sys.path.append方法添加路径,显示退出python会消失!

python -c"import sys;print ‘当前的python是:‘+sys.prefix;sys.path.append(r‘E:\DjangoWord‘);print ‘\n‘.join(sys.path)"

再次运行,会发现 自己添加路径E:\DjangoWord()不存在了!

python -c"import sys;print ‘当前的python是:‘+sys.prefix;print ‘\n‘.join(sys.path)"

如何将路径永久添加到sys.path?

详址:http://my.oschina.net/leejun2005/blog/109679

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-05 20:28:58

Python 之 ImportError: No module named ***的相关文章

ImportError: No module named 'tkinter'

环境说明: windows7.vscode1.33.1.python3.7.0. 解决方案: 通过安装程序单独卸载“tcl/tk and IDLE”------重新安装“tcl/tk and IDLE”------重启电脑.(只重启vscode没有效果). 尝试过的无效方法: 1.修复安装python. ImportError: No module named 'tkinter' 原文地址:https://www.cnblogs.com/yuwentims/p/10795510.html

python模块以及导入出现ImportError: No module named 'xxx'问题

python模块以及导入出现ImportError: No module named 'xxx'问题 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模 块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用 如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比 如在a.py中使用b.py:  import b 但是如果要import一个不同目录的文件(例如b.py)该怎么做

python:ImportError: No module named setuptools

python安装模块时: python  setup.py install 错误:ImportError: No module named setuptools 没有setuptools的模块,安装这个模块即可解决此问题: 下载setuptools包 wget   thttp://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd se

Python安装模块出错(ImportError: No module named setuptools)解决方法

Python安装模块出错(ImportError: No module named setuptools)解决方法 (   言 Python第三方模块中一般会自带setup.py文件,在Windows环境下,我们只需要使用命令 cd c:\Temp\foo python setup.py install 两个命令就可以完成第三方模块的安装了.第一个cd命令将当前目前切换到待安装的第三方模块的目录下(这里假设第三方模块解压后的目录为c:\Temp\foo),第二个命令就执行安装了.安装的过程中可能

ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2

ubuntu上跑python连接pg,报错  ImportError: No module named psycopg2 [email protected]:~# python /home/zxw/PGWriterTest_m.py Traceback (most recent call last): File "/home/zxw/PGWriterTest_m.py", line 4, in <module> import psycopg2 ImportError: No

python打包exe文件-ImportError: No module named &#39;queue&#39;

我之前遇到的一个错误就是 [html] view plain copy File "site-packages\urllib3\packages\six.py", line 92, in __get__ File "site-packages\urllib3\packages\six.py", line 115, in _resolve File "site-packages\urllib3\packages\six.py", line 82, 

Centos 7 python 编译报错 ImportError: No module named six 解决办法

本地编译Open vSwitch时报错 Traceback (most recent call last):   File "./ovsdb/ovsdb-idlc.in", line 8, in <module>     import ovs.json   File "/root/rpmbuild/BUILD/openvswitch-2.6.0/python/ovs/json.py", line 21, in <module>     imp

python打怪之路【第二篇】:ImportError: No module named setuptools

在python安装第三方模块时出现如下错误: python错误:ImportError: No module named setuptools这句错误提示的表面意思是:没有setuptools的模块,说明python缺少这个模块,那我们只要安装这个模块即可解决此问题,下面我们来安装一下: 在shell中: wget https://bootstrap.pypa.io/ez_setup.py -O - | python 完成.

python模块以及导入出现ImportError: No module named ‘xxx’问题

首先来说,这个问题是我用pycharm4.5进行开发的,我在做python的模块与函数单元的例子. 需要建一个模块名字叫myModule 于是我就写了一个,挺简单的 def arithmetic(x=1, y=1, operator="+"): result={ "+":x+y, "-":x-y, "*":x*y, "/":x/y } return result.get(operator) class My