Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法导入名称';框2到点';从';util';_Python_Python 3.x_Pip_Conda_Importerror - Fatal编程技术网

Python 无法导入名称';框2到点';从';util';

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

我正在尝试使用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".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文档示例中使用,包含的函数主要用于生成粒子系统和绘制结果。因为这会混淆