Python 无法导入名称';框2到点';从';util';
我正在尝试使用spyder在Python3.7中运行以下代码Python 无法导入名称';框2到点';从';util';,python,python-3.x,pip,conda,importerror,Python,Python 3.x,Pip,Conda,Importerror,我正在尝试使用spyder在Python3.7中运行以下代码 import numpy as np import freud from util import box_2d_to_points import matplotlib.pyplot as plt data_path = "data/phi065" box_data = np.load("{}/box_data.npy".format(data_path)) pos_data = np.load("{}/pos_data.npy".f
import numpy as np
import freud
from util import box_2d_to_points
import matplotlib.pyplot as plt
data_path = "data/phi065"
box_data = np.load("{}/box_data.npy".format(data_path))
pos_data = np.load("{}/pos_data.npy".format(data_path))
def plot_rdf(box_arr, points_arr, prop, rmax=10, dr=0.1, label=None, ax=None):
"""Helper function for plotting RDFs."""
if ax is None:
fig, ax = plt.subplots(1, 1, figsize=(12, 8))
ax.set_title(prop, fontsize=16)
rdf = freud.density.RDF(rmax, dr)
for box, points in zip(box_arr, points_arr):
rdf.accumulate(box, points)
if label is not None:
ax.plot(rdf.R, getattr(rdf, prop), label=label)
ax.legend()
else:
ax.plot(rdf.R, getattr(rdf, prop))
return ax
首先安装了一个名为“freud”的软件包(pip安装freud
)
然后当我运行时,我得到了这个错误
ImportError:无法从“util”(/opt/anaconda3/lib/python3.7/site packages/util/\uu init\uuuuuu.cpython-37m-darwin.so)中将名称“box\u 2d\u导入到\u points”
所以我检查了一下这个包是否是用
pip show util
我得到以下信息:警告:找不到包:util
注意:您可能需要重新启动内核才能使用更新的软件包。
是的,我重新启动了内核,没有任何改变
当我尝试安装它时
pip安装util
错误:找不到满足要求的版本(来自版本:无)
错误:找不到与util匹配的分发
注意:您可能需要重新启动内核才能使用更新的软件包。
我在网上搜索发现它可以安装为pip install python utils
,但是它创建了一个不同的目录,即使我从python\u utils导入框\u 2d\u更改为\u points,代码也不会编译
但我认为这是一些目录问题,包无法读取。如果您查看随附的屏幕截图,在带有文件夹“freud”的库中有一个文件夹“util”,其中包含文件“init.cpython-37m-darwin.so”
我想知道如何安装这个软件包。我遵循了中的解决方案(但仍然没有解决问题)
弗洛伊德软件包的文档可以找到:
提前感谢您,
pip install freud
安装了一个错误的软件包。显示了命令pip install freud analysis
。软件包是两个完全不同且不相关的软件包
所以首先卸载弗洛伊德,然后安装弗洛伊德分析:
pip uninstall freud
pip install freud-analysis
不幸的是,即使是正确的
freud
。唯一提到的box\u 2d\u to\u points
是在and中。我想你应该知道它们的意思。pip install freud
安装了一个错误的包。显示的命令是pip install freud analysis
。包是两个完全不同且不相关的包。
所以首先卸载弗洛伊德,然后安装弗洛伊德分析:
pip uninstall freud
pip install freud-analysis
不幸的是,即使是正确的
freud
。唯一提到的box\u 2d\u to\u points
是在and中。我想你应该知道它们的意思。我是freud
软件包的维护者。另一个用户以前报告了对util
文件的混淆问题()并在昨天(2019年10月31日)发布的弗洛伊德图书馆2.0版中得到解决
如其他评论和回答中所述,util.py
文件未包含在freud
软件包中。它在1.0版的freud文档示例中使用,包含的函数主要用于生成粒子系统和绘制结果。因为这让一些新用户感到困惑,我们决定n将这些函数中的许多函数直接合并到freud
包中。在少数情况下,我们选择将util.py
文件保留为打印特定代码,并清楚地记录文件的位置(例如:)。选择分离实用程序函数的原因是,freud
主要是一个分析包,可视化选择通常由用户决定(尽管从v2.0开始,许多计算对象都有使用Matplotlib绘制结果的辅助方法)
在freud v2.0中,对文档进行了修订。上面引用的代码片段已针对v2.0中的新API进行了更新,不再依赖于util.py
文件。新示例位于此处:
将numpy导入为np
弗洛伊德
将matplotlib.pyplot作为plt导入
data_path=“data/phi065”
box_data=np.load(“{}/box_data.npy.”格式(数据路径))
pos_data=np.load(“{}/pos_data.npy.”格式(数据路径))
def plot_rdf(框线、点线、道具、r_max=10、箱子=100、标签=None、ax=None):
“”“用于打印RDF的辅助函数。”“”
如果ax为无:
图,ax=plt.子批次(1,1,figsize=(12,8))
ax.设置标题(道具,字体大小=16)
rdf=freud.density.rdf(桶,最大值)
对于长方体,拉链中的点(长方体,点):
compute(系统=(框,点),重置=False)
如果标签不是无:
ax.plot(rdf.bin_中心,getattr(rdf,prop),label=label)
ax.图例()
其他:
ax.绘图(rdf.bin_中心,getattr(rdf,prop))
返回斧头
另外,我想确认pip安装freud
不会得到正确的软件包。freud
最初是通过conda频道提供的,但不是通过Python软件包索引(PyPI)提供的。我们发现,当我们开始使用pip
构建易于安装的轮子时,freud
这个名字已经出现在PyPI上。该清单列出了正确的安装方法,当前是conda安装-c conda forge freud
(如果使用conda环境),或者pip安装freud analysis
感谢您使用freud,如果您还有其他问题,请随时联系。我是
freud
软件包的维护者。此问题与util
文件的混淆先前由另一个用户()报告,并已在昨天发布的freud库2.0版中得到解决(2019年10月31日)
如其他评论和回答中所述,util.py
文件不包含在freud
软件包中。它在1.0版的freud文档示例中使用,包含的函数主要用于生成粒子系统和绘制结果。因为这会混淆