Python編程的新手並遇到導入模塊的問題。將模塊導入Python的問題
我有一個主應用程序(compare.py)與進口如下:
# import the necessary packages
from skimage.measure import structural_similarity as ssim
import matplotlib.pyplot as plt
import numpy as np
import os
import skimage
from skimage import io
from skimage import color
from epilib import mse
from epilib import compare_images
和我已經定義在epilib兩個功能,一是稱爲MSE()和一個被稱爲compare_images()。
mse()中的代碼需要numpy。當我執行'python compare.py'時,我得到以下錯誤信息:
文件「C:\ Users \ Dan \ epilib.py」,第7行,在mse err = np.sum((imageA.astype (「float」) - imageB.astype(「float」))** 2) NameError:未定義名稱'np'
我認爲'import numpy as np'是在導入epilib之前執行的, numpy圖書館可用於epilib?當我將'import numpy as np'添加到epilib的頂部時,問題就解決了。
我不認爲將所有導入語句移至epilib非常有效。我希望epilib只是一個函數庫,我可以根據需要導入到各種python程序中。
有沒有辦法做到這一點?
有很好的理由。除此之外,神祕依賴從來都不是好事。每個模塊都應該導入成功運行所需的內容。 – michaelrccurtis