python脚本中导入错误

时间:2017-10-01 08:59:17

标签: python bash python-2.7

我有这个目录结构:

- program/
 -  --manage_dataset/
 -  ----__ init__.py
 -  ----dir1/
 -  ------__ init__.py
 -  ----dir2
 -  ------__ init__.py
 -  ----create_patch.py
 -  --test/
 -  ---- __ init__.py
 -  ----launcher.py

在laucher我需要使用create_patch.py​​函数,所以我把:

import manage_dataset.create_patch

在我的ide(pycharm)中运行良好,但是当我使用终端执行时出现此错误:

ImportError: No module named manage_dataset.create_patch

我试过inser

sys.path.insert(0,path_to_program/manage_dataset)

但没有变化......

3 个答案:

答案 0 :(得分:0)

请问您是否可以先尝试使用pip安装模块。(我还没有对其进行测试,因为我无法安装任何模块)

pip install manage_dataset.create_patch

使用next命令可以查看是否安装了模块。

pip freeze  | grep manage_dataset.create_patch

答案 1 :(得分:0)

我相信这是你所看到的错误。

Error with pip install

这是因为pip不提供该包,并且不在pypi.python.org上维护。

我尝试使用谷歌搜索该包,但我无法在任何地方找到它。你确定那是你正在寻找的包裹吗?你能去那个找到那个包装的地方,看看怎么样吗?如果他们为您提供.whl文件,请下载该文件并使用pip install <package name>.

的pip安装该软件包

答案 2 :(得分:0)

正如我在评论中所说,在添加import create_patch后使用sys.path 在目录/ home / rolf / program / manage_dataset中有一个名为create_patch.py的python程序

def print_patch_id():
    print "Printed from create_patch.py"

从我的/ home / rolf目录访问它:

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.insert(0,'/home/rolf/program/manage_dataset')
>>> import create_patch as cr_pat
>>> cr_pat.print_patch_id()
Printed from create_patch.py
>>>