#python #python-3.x
#python #python-3.x
Вопрос:
Я импортировал файл image_function.py
в свой ноутбук. Однако, когда я попытался использовать одну из функций im_reverse
, она выдала мне ошибку.
Код:
import image_function
image_function.im_reverse("https://allhdwallpapers.com/wp-content/uploads/2015/05/sunset-8.jpg", reverse = 'horizontal', url = True)
Ошибка:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-61-afc744ac8a12> in <module>()
1 import image_function
----> 2 image_function.im_reverse("https://allhdwallpapers.com/wp-content/uploads/2015/05/sunset-8.jpg", reverse = 'horizontal', url = True)
/content/image_function.py in im_reverse(image_path, reverse, url)
45 mat_image_column_reverse[c][i] = mat_image_reverse[j][i]
46 c = 1
---> 47
48 plt.axis('off')
49
NameError: name 'requests' is not defined
Ошибка произошла до того, как она достигла кода для реверсирования по вертикали, который находится ниже.
Что внутри image_function:
#libraries:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import imshow
from PIL import Image
import copy
import requests
from io import BytesIO
Это код после ошибки:
def im_reverse(image_path, reverse = 'horizontal', url = True):
if url == True:
response = requests.get(image_path)
with Image.open(BytesIO(response.content)) as image:
mat_image = np.array(image, dtype=int)
m, n, depth = mat_image.shape
if reverse == 'horizontal':
mat_image_reverse = copy.deepcopy(mat_image)
mat_image_rows_reverse = copy.deepcopy(mat_image)
for i in range(m):
c = 0
for j in range(n-1,-1,-1):
mat_image_rows_reverse[i][c] = mat_image_reverse[i][j]
c = 1
plt.axis('off')
return imshow(mat_image_rows_reverse)
Я перепробовал много решений в Интернете. Однако я не вижу ничего плохого. Я также пробовал преднамеренное from requests import get
или !pip install requests
, и оно все равно не сработало.
Может кто-нибудь, пожалуйста, предложить решение. Спасибо
Комментарии:
1. Можем ли мы увидеть строку, в которой возникает эта ошибка?
2. Пожалуйста, обновите вопрос, чтобы включить полное сообщение об ошибке, а не только последнюю строку ошибки.
3. Сэр @JohnGordon, я отредактировал его
4. Это странное сообщение обратной трассировки.. стрелка указывает на строку 47, которая пуста. Можете ли вы проверить, есть ли у вас старая версия
image_function.pyc
в этом каталоге, и если да, удалите ее?5. о да, спасибо, у меня есть старая версия. Теперь это работает
Ответ №1:
Похоже, вам нужно установить запросы:
python3 -m pip install requests
Комментарии:
1. Если бы это было причиной, то это было бы an
ImportError
, а не aNameError
.