簡體   English   中英

ImportError:沒有名為utils的模塊

[英]ImportError: No module named utils

我正在嘗試導入實用程序文件,但只有當我通過腳本運行代碼時才會遇到奇怪的錯誤。

當我運行test.py時

location:/home/amourav/Python/proj/test.py

碼:

import os
os.chdir(r'/home/amourav/Python/')
print os.listdir(os.getcwd())
print os.getcwd()
from UTILS import *

輸出是:

['UTILS_local.py','UTILS.py','proj','UTILS.pyc']

/家庭/ amourav / Python的

回溯(最近一次調用最后一次):文件“UNET_2D_AUG17.py”,第11行,來自UTILS import * ImportError:沒有名為UTILS的模塊

但是當我通過bash終端運行代碼時,它似乎工作正常

bash-4.1$ python
>>> import os
>>> os.chdir(r'/home/amourav/Python/')
>>> print os.listdir(os.getcwd())

['UTILS_local.py','UTILS.py','proj','UTILS.pyc']

>>> from UTILS import *

等等等等 - 等等等等

我在Linux機器上運行Python 2.7.10

您的項目如下所示:

+- proj
|  +- test.py
+- UTILS.py
+- ...

如果您想導入UTILS.py,可以選擇:

(1)在test.py中添加sys.path的路徑

import os, sys
sys.path.append(os.path.join(os.path.dirname(__file__), ".."))
# now you may get a problem with what I wrote below.
import UTILS

(2)創建一個包(僅限導入)

Python
+- proj
|  +- test.py
|  +- __init__.py
+- UTILS.py
+- __init__.py
+- ...

現在,如果import Python.proj.test ,可以在test.py中import Python.proj.test

from .. import UTILS

錯誤的答案

我有幾次這個錯誤。 我想,我記得。

修復:不要運行test.py ,運行./test.py

如果你看一下sys.path ,你會發現里面有一個空字符串,它是執行文件的路徑。

  • test.py''添加到sys.path
  • ./test.py添加'.' sys.path

導入只能從"."執行"." , 我認為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM