首页 > 解决方案 > 使用 Pillow 和流线型,图像未定义错误,但在 Windows 上

问题描述

我看到的大多数修复程序都适用于除 Windows 之外的所有其他操作系统。不幸的是,我在窗户上。

在流光服务器上,我得到:

NameError: name 'image' is not defined 文件“C:\Users\Adam\Desktop\machine_learn\machine_learn\learn3.py”,第 17 行,在 image = image.open(r'C:\Users\Adam\Downloads\ moneyshot.jpg')

我把两个

从 PIL 导入图像

从 PIL.Image 导入核心作为 Image

如此处建议: https ://pillow.readthedocs.io/en/latest/installation.html

我很感激任何建议。这是我的完整代码:

from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from PIL import Image
from PIL.Image import core as Image
import streamlit as st



st.write("""

#Fianancial data visualizer
Financial data **visualizer** for GameStop from 09/04/2020 to 09/04/2021

""")

image = image.open(r'C:\Users\Adam\Downloads\moneyshot.jpg')
st.image(image, caption=MoneyMission, use_column_width=True)
st.sidebar.header('user input')

def get_input():
    start_date = st.sidebar.text_input('Start date', '2020-04-09')
    end_date = st.sidebar.text_input('End date', '2021-04-09')
    Stock_symbol = st.sidebar.text_input('Stock symbol', 'GME')
    return start_date, end_date, Stock_symbol

def get_symbol(symbol):
    if symbol == 'GME':
        return 'GameStop'
    else:
        return None


def get_data(symbol, start, end):
    if symbol.upper() == 'GME':
        df = pd.read_csv(r"C:\Users\Adam\Downloads\Gamestop_price_data")
    else:
        df = pd.DataFrame(columns=[Date, Open, High, Low, Close, Volume])


    start = pd.to_datetime(start)
    end = pd.to_datetime(end)

    start_row = 0
    end_row = 0 

    for i in range(0, len(df)):
        if start <= pd.to_datetime(df['Date'][i]):
            start_row = i
            break
    
    for j in range(0, len(df)):
        if end >= pd.to_datetime(df['Date'][len(df) -1 -j]):
            end_row = len(df) -1 -j
            break
    
    df = df.set_index(pd.Datetimeindex(df['Date'].values))

    return df.iloc[start_row:end_row +1, :]

start, end, symbol = get_input()

df = get_data(symbol, start, end)


company_name = get_symbol(symbol.upper())

st.header(company_name+'Close price\n')
st.line_chart(df['Close'])

st.header(company_name+'Volumn\n')
st.line_chart(df['Volumn'])

st.header(company_name+'low')
st.line_chart(df['low'])

st.header(company_name+'high')
st.line_chart(df['high'])

st.header(company_name+'open')
st.line_chart(df['open'])








标签: pythonpython-imaging-librarystreamlit

解决方案


推荐阅读