【问题标题】:Error when trying to import PuLP - ImportError: cannot import name 'clock' from 'time' (unknown location)尝试导入 PuLP 时出错 - ImportError: cannot import name 'clock' from 'time' (unknown location)
【发布时间】:2021-01-09 19:00:31
【问题描述】:

尝试在 python 3.8 中加载 puLp 时遇到一个奇怪的错误

>>> import pulp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ra7555ga/.local/lib/python3.8/site-packages/pulp/__init__.py", line 34, in <module>
    from .pulp import *
  File "/home/ra7555ga/.local/lib/python3.8/site-packages/pulp/pulp.py", line 102, in <module>
    from .solvers import *
  File "/home/ra7555ga/.local/lib/python3.8/site-packages/pulp/solvers.py", line 35, in <module>
    from time import clock
ImportError: cannot import name 'clock' from 'time' (unknown location)

有人遇到过类似情况吗?

我在一个 Ubuntu 20.04 虚拟机中,并将 PuLP 2.3 安装为 sudo pip3 install pulp

【问题讨论】:

  • time.clock 已被弃用一段时间,并在 Python 3.8 中被删除。 PuLP 显然已更新以解决此问题(请参阅github.com/coin-or/pulp/pull/237),但可能该更改尚未发布。
  • 这个改动确实已经发布了,已经很久了。通常,当使用旧版本的纸浆时会出现这些问题(例如,anaconda 没有最新版本)。您可以随时尝试使用开发版本,但我怀疑您没有使用 2.3 版
  • 事实上,我知道一个不是纸浆 2.3 的事实有几个原因:(1)纸浆文件对应于版本 1.6 和(2)您使用 sudo 安装纸浆的事实,这将库安装在系统 python 解释器中,但您使用的是用户的 python 解释器(.local)。尝试安装没有 sudo 的纸浆:pip3 install pulp --user

标签: python python-3.8 pulp ubuntu-20.04


【解决方案1】:

您使用的不是最新版本的纸浆。那是因为您将纸浆安装在错误的位置(使用 sudo)。

我知道它是 1.6 版,因为: (1) 错误中的纸浆文件对应1.6版本和 (2) 您使用 sudo 安装pull 的事实,它将库安装在系统python 解释器中,但您使用的是用户的python 解释器(在.local 中)。

解决方案是在您的用户 python 目录中安装纸浆:

pip3 install pulp --user

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-30
    • 2021-09-28
    • 2021-09-30
    • 2021-05-13
    • 2019-07-20
    • 2020-07-16
    • 2019-06-10
    • 2014-09-25
    相关资源
    最近更新 更多