沧野 2024-05-19 21:58 采纳率: 80%
浏览 6

python导入文件问题

我跟着机器学习的教学视频学习,在导入同一目录下自己编写的文件时无法导入(文件分布情况如下图),我无法在test_poly_regression.py这个文件中导入polynomial_features.py,polynomial_regression_curve.py这两个文件及其中定义的类,错误信息显示的是找不到要导入的文件。
Hint: make sure your test modules/packages have valid Python names.
有没有人知道这是为什么

img


import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot
from model import polynomial_features
from model import polynomial_regression_curve

objective_function=lambda x:3*np.exp(-1)*np.sin(x)
np.random.seed(0)
n=10;
raw_x=np.linspace(0,6,n)
raw_y=objective_function(raw_x)+np.random.randn(n)#目标值+噪声

degrees=[1,3,5,7,10,12]
plt.Figure(figsize=(15,7))
for i,degree in enumerate(degrees):
    fear_data=PolynomialFeatureData(raw_x,degree,with_bias=True)
    X_sample=feat_data.fit_transform()

    poly_obj=PolynomialRegressionCurve(X_sample,raw_y,fit_intercept=True)
    theta=poly_obj.fit()
    print("degree:%d,theta is "%degree,theta)
  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-19 21:58
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    【您想要解决的问题】:您提问的目的是解决在Python中导入同一目录下其他文件时遇到的问题。具体来说,您无法在test_poly_regression.py文件中成功导入polynomial_features.pypolynomial_regression_curve.py这两个文件及其定义的类,错误提示是找不到要导入的文件,并提示确保测试模块/包具有有效的Python名称。

    【图片内容】:图片显示了您的项目文件结构,其中包括model1文件夹,test文件夹,.pytest_cache文件夹,以及几个Python文件,如init_py.pypolynomial_features.pypolynomial_regression_curve.py等。图片还显示了CSDN的用户名和一些文件的扩展名。

    【问题出现原因】:根据您提供的信息,问题可能出现在以下几个方面:

    1. 导入路径问题:您可能没有正确设置Python模块的导入路径。在Python中,如果模块不在当前目录下,需要使用相对或绝对路径来导入。
    2. 文件命名问题:Python模块的文件名必须符合Python的命名规范,即不能以数字开头,不能包含空格或特殊字符。
    3. 包结构问题:如果model是一个包,那么它需要包含一个__init__.py文件(可以为空),以便Python将其识别为一个包。
    4. IDE配置问题:如果您使用的是PyCharm等IDE,可能需要配置项目结构,确保IDE知道哪些目录是源代码目录。

    【问题解决方案】:

    1. 确保文件命名正确:检查polynomial_features.pypolynomial_regression_curve.py文件名是否符合Python命名规范。
    2. 检查包结构:如果model是一个包,确保它包含__init__.py文件。
    3. 使用正确的导入语句:如果model是一个包,您的导入语句应该是:
      from model.polynomial_features import PolynomialFeatureData
      from model.polynomial_regression_curve import PolynomialRegressionCurve
      
      注意这里假设PolynomialFeatureDataPolynomialRegressionCurve是您在这两个文件中定义的类。
    4. IDE项目结构配置:在PyCharm中,确保您的项目设置正确,源代码目录已经包含所有需要的模块。

    【提供代码】:以下是修改后的代码示例,假设model是一个包,并且PolynomialFeatureDataPolynomialRegressionCurve是您在polynomial_features.pypolynomial_regression_curve.py中定义的类。

    import matplotlib.pyplot as plt
    import numpy as np
    from model.polynomial_features import PolynomialFeatureData
    from model.polynomial_regression_curve import PolynomialRegressionCurve
    
    # 其他代码保持不变
    

    【代码运行方式】:确保您的环境已经安装了Python和必要的库(如numpy和matplotlib)。在命令行中,您可以使用以下命令运行您的脚本:

    python test_poly_regression.py
    

    【代码预期运行结果】:如果代码和环境配置正确,您的脚本应该能够成功运行,并且不会出现导入错误。

    【推荐相关链接】:

    请注意,以上建议基于您提供的信息。如果问题仍然存在,可能需要更详细的信息来进一步诊断问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月19日

悬赏问题

  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因