【问题标题】:Why can't I use Solver qpsolver anymore?为什么我不能再使用 Solver qpsolver?
【发布时间】:2021-08-13 13:43:16
【问题描述】:

我刚刚编写了一个二次规划,它运行得很好,但有一天它就完全不起作用了。

有人知道问题出在哪里吗?

我的代码是:

import time
import numpy as np  
from numpy import array, dot
from qpsolvers import solve_qp


Matrix10 = np.load(r'C:\Users\skqkr\Desktop\Semesterarbeit/Chiwan_Q7.npz')
start = time.time()

P = Matrix10['Q']  # quick way to build a symmetric matrix
q = Matrix10['p']
G = Matrix10['G']
h = Matrix10['h']


x = solve_qp(P, q, G, h )>print("QP solution: x = {}".format(x))
print("time :", time.time() - start)

结果是:

ImportError: cannot import name 'solve_qp' from 'qpsolvers' (C:\Users\skqkr\qpsolvers.py)

我不明白为什么突然不顺利了。

【问题讨论】:

    标签: gurobi cvxopt quadratic-programming


    【解决方案1】:

    我不认为您共享的代码是您真正使用的代码,因此很难理解发生了什么。但是,您的问题发生的原因很少

    python ImportError: cannot import name 错误在导入类不可访问或导入类循环依赖时发生。 import 关键字用于加载类和函数。关键字 from 用于加载模块。由于任何原因,如果导入类在 python 类路径中不可用,则会抛出“ImportError: cannot import name”python 错误。

    ImportError: cannot import name 的原因如下

    导入类不可用或未创建。 导入类名命名错误或拼写错误 导入类名和模块名放错了。 导入类在 python 类路径中不可用 导入类在 python 库中不可用 导入类是循环依赖 python 模块只是一个扩展名为 .py 的 python 文件。关键字 from 将用于加载 python 模块。使用关键字 import 导入 python 模块中的类。如果导入的类不在引用的python文件中,python解释器会抛出ImportError: Cannot import name.

    如果两个 python 文件相互引用并尝试加载另一个文件,它将创建循环加载依赖。这将导致堆内存错误。如果python解释器检测到循环依赖,就会抛出ImportError: Can't Import Name错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 2020-02-18
      • 2010-10-28
      相关资源
      最近更新 更多