已安装pandas与matplotlib却仍报ModuleNotFoundError的技术问询
模块找不到问题排查(ModuleNotFoundError: pandas/matplotlib.pyplot)
我之前成功使用过pandas和matplotlib.pyplot模块,也确认已经安装了这两个库,但运行代码时还是不断出现ModuleNotFoundError: No module named 'pandas'和No module named 'matplotlib.pyplot'的错误,请问这是什么原因?
以下是我的代码:
import pandas as pd import matplotlib.pyplot as plt # Read in the data from the CSV files and store them in dataframes unemployment_df = pd.read_csv("UNRATE.csv", skiprows=1, names=["DATE", "UNEMPLOYMENT"]) cpi_df = pd.read_csv("CPIAUCSL.csv", skiprows=1, names=["DATE", "CPI"]) gdp_df = pd.read_csv("GDPC1.csv", skiprows=1, names=["DATE", "GDP"]) # Convert the DATE column to datetime format unemployment_df["DATE"] = pd.to_datetime(unemployment_df["DATE"]) cpi_df["DATE"] = pd.to_datetime(cpi_df["DATE"]) gdp_df["DATE"] = pd.to_datetime(gdp_df["DATE"]) # Set the DATE column as the index for each dataframe unemployment_df.set_index("DATE", inplace=True) cpi_df.set_index("DATE", inplace=True) gdp_df.set_index("DATE", inplace=True) # Define a function to get the data for a specific time period def get_data(start_year, end_year): start_date = pd.to_datetime(str(start_year)) end_date = pd.to_datetime(str(end_year)) unemployment_data = unemployment_df[start_date:end_date] cpi_data = cpi_df[start_date:end_date] gdp_data = gdp_df[start_date:end_date + pd.DateOffset(months=2)].resample("M").ffill() return unemployment_data, cpi_data, gdp_data # Get the user input for the time period start_year = int(input("Enter the start year (yyyy): ")) end_year = int(input("Enter the end year (yyyy): ")) # Get the data for the specified time period unemployment_data, cpi_data, gdp_data = get_data(start_year, end_year) # Bar graph of unemployment rate plt.figure(figsize=(12, 6)) plt.bar(unemployment_data.index, unemployment_data["UNEMPLOYMENT"]) plt.title("Unemployment Rate") plt.xlabel("Date") plt.ylabel("Unemployment Rate (%)") plt.show()
可能的原因及解决方向:
- Python环境不匹配:安装库的Python环境和当前运行代码的环境不一致。比如用
pip安装到了系统默认Python,但运行时用的是虚拟环境、Anaconda环境或其他版本的Python(如Python3.8和Python3.10)。可以通过在终端运行which python(Linux/macOS)或where python(Windows)查看当前运行环境路径,再用pip --version确认安装库的环境路径是否一致。 - 虚拟环境未激活:如果使用了虚拟环境,运行代码前没有激活对应的环境,系统会默认使用全局环境,找不到虚拟环境里安装的库。激活虚拟环境后再运行代码即可(比如
source venv/bin/activate(Linux/macOS)或venv\Scripts\activate(Windows))。 - pip与Python版本不对应:安装时用的pip和当前运行的Python版本不匹配,比如用
pip3安装但运行的是python(对应Python2),或者反过来。可以用python -m pip install pandas matplotlib强制使用当前Python版本对应的pip来安装。 - IDE解释器配置错误:如果用IDE(如VS Code、PyCharm)运行代码,IDE配置的Python解释器不是安装库的那个版本。需要进入IDE的解释器设置,选择正确的Python环境。
- 库安装损坏:虽然确认安装过,但安装过程可能中断或文件损坏。可以尝试重新安装:
pip install --upgrade --force-reinstall pandas matplotlib
内容的提问来源于stack exchange,提问作者alexa hrnicek
相关产品推荐
相关产品推荐

