Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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 没有名为“的模块”;数据“实用程序”;。。。但它是下载的_Python_Scipy_Tensorflow_Keras_Recurrent Neural Network - Fatal编程技术网

Python 没有名为“的模块”;数据“实用程序”;。。。但它是下载的

Python 没有名为“的模块”;数据“实用程序”;。。。但它是下载的,python,scipy,tensorflow,keras,recurrent-neural-network,Python,Scipy,Tensorflow,Keras,Recurrent Neural Network,所以我犯了一个简单的错误 没有名为“数据”的模块 在尝试将其导入python程序时。因此我认为它一定没有下载,并且花了20分钟来确保正确下载。结果证明,一直都很好,data_utils.py文件位于utils文件夹中 我真的被卡住了,因为我在那里看到了它,但它根本无法导入。我在\uuu init\uuuuuy.py文件后查找了一个.bin,但似乎它们很好。如果您能提供任何帮助,我将不胜感激。谢谢!从您的评论中推断出答案是: 这些文件必须位于同一目录/和某些子目录中,才能进行导入,如import

所以我犯了一个简单的错误

没有名为“数据”的模块

在尝试将其导入python程序时。因此我认为它一定没有下载,并且花了20分钟来确保正确下载。结果证明,一直都很好,
data_utils.py
文件位于utils文件夹中


我真的被卡住了,因为我在那里看到了它,但它根本无法导入。我在
\uuu init\uuuuuy.py
文件后查找了一个.bin,但似乎它们很好。如果您能提供任何帮助,我将不胜感激。谢谢!

从您的评论中推断出答案是:

这些文件必须位于同一目录/和某些子目录中,才能进行导入,如
import data\u utils

有一些方法可以解决这个问题,但首先要保持简单

例如:

给定如下目录结构:

| --main.py
| --data_utils.py
| --train.py
|--data-utils
  |--__init__.py
  |--data_utils.py
假设您在数据实用程序中有一个函数
删除标点符号

您可以将其与以下内容一起使用:

from data_utils import remove_punctuation
或者,您可以使用以下方法导入所有函数(data_utils中的和或类):

或者,您可以使用

import data_utils

# use remove_punctuation
data_utils.remove punctuation
目录结构也可以是:

|--main.py
|--bar
   |--foo
|--src
   |--train.py
您可以使用

与上面使用点符号限定目录的语义相同:

from bar.foo import foo
编辑:像scipy这样的模块导入是否必须位于同一目录中?

简短回答 没有

长答案

当您安装
scipy
numpy
等(从pip或使用sudo安装的软件包)时,它们会将自己(它们的位置)添加到
PYTHONPATH
中,因此您不必将它们与项目代码放在同一目录中

必须将要全局使用的模块添加到PYTHONPATH中。Python在其正在执行的文件的目录和子目录中以及在
PYTHONPATH
中搜索模块(大致)

如果您希望全局导入自己的模块

也就是说,如果您想在任何地方使用
data\u utils.py
,假设您在linux上使用bash,并且假设您在名为
data utils
的目录中有data\u utils.py:

\uuuu init\uuuu.py
添加到
数据utils
,使目录结构如下所示:

| --main.py
| --data_utils.py
| --train.py
|--data-utils
  |--__init__.py
  |--data_utils.py
然后将此行添加到~/.bashrc:

export PYTYHONPATH=$PYTHONPATH:/path/to/data-utils

data-utils
(扩展为
data\u-utils.py
)永久添加到
PYTHONPATH
,可以由任何项目代码导入。

您的项目目录结构是什么?请在问题中发帖抱歉,我对您的意思感到困惑。我对使用python库还不熟悉。不用担心,伙计,这里有一个示例,为您的文件复制它::也许这就是我出错的地方。我知道了在我的主.py项目文件中,所有依赖项都分散在不同的文件夹中。它们是否必须分配到一个位置。或者我只是感到困惑。好的,这似乎是有道理的。因此,如果我有多个使用库的程序,例如scipy,那么所有这些程序都必须在同一个目录中吗?谢谢或者问这么多问题。但我是否在cmd中运行这些命令。我运行的是windows,它说导出不是一个命令。然而,我在我的计算机上发现了一个名为git bash的程序,它有一个有效的导出命令,但我不确定这是否只是巧合。我也不明白你添加到.bashrc中是什么意思。我想我有我听说过bashrc的概念,但我在我的系统上只看到一个.bashrc文件,它是visual studio代码文件。谢谢我的建议:不要担心运行长答案部分中的命令。而是将文件
data_utils.py
添加到与
main.py
相同的文件夹中,然后尝试
导入数据_utils.py
,所以,很不幸首先,我有大约200个main.py文件和大约200个main.py文件,那么是哪一个呢?我看到很多来自Anaconda,一些来自pip,还有一些来自其他文件夹。我应该搜索哪些详细信息?您尝试导入数据的文件名是什么?