Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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_Python 3.x - Fatal编程技术网

Python无法从未定义的其他文件名导入

Python无法从未定义的其他文件名导入,python,python-3.x,Python,Python 3.x,我正试图从另一个python文件导入自定义函数,但不断收到一个错误NameError:name'testme'未定义。我确认我正在根据和正确导入文件。我还能做些什么来解决这个问题 我的主要python文件是: import sys import dbconn #from dbconn import testme #<----did not work dev=True if(dev): categId='528' pollIds=[529,530,531] else:

我正试图从另一个python文件导入自定义函数,但不断收到一个错误
NameError:name'testme'未定义
。我确认我正在根据和正确导入文件。我还能做些什么来解决这个问题

我的主要python文件是:

import sys
import dbconn
#from dbconn import testme #<----did not work


dev=True

if(dev):
    categId='528'
    pollIds=[529,530,531]
else:
    categId=str(sys.argv[1])
    pollIds=[529,530,531]


df=testme(categIds)#callServer(categId,pollIds)
df
if(not categId.isdigit):
    print('categ id fail. expected digit got: '+categId)
.....
我不确定这是否有什么不同,但我正在Jupyter笔记本中运行主python文件,并且在同一目录中有一个dbconn.py的编译版本

针对我尝试过的建议:

df=dbconn.testme(categIds) 
获取错误信息:


模块“dbconn”没有属性“testme”

您必须遵循以下步骤

1)import <package>
2)import <module>
3)from <package> import <module or subpackage or object>
4)from <module> import <object>
您只需在
from
部分中使用
软件包
,在
导入
部分中使用
模块
喜欢>>


必须是
dbconn.testme(…
从dbconn导入testme
使用
时会发生什么?如果将
df=testme(categIds)
更改为
df=dbconn.testme(categIds)
,会发生什么?最后,如果运行
import importlib;importlib.reload(dbconn),它会工作吗
?您自己的模块与您正在使用的模块完全相同,如pandas和pymysql。因此,当您
导入dbconn
时,您在名称空间中得到的唯一东西就是
dbconn
模块本身,因此您必须执行
dbconn.testme
与您必须执行的
pd.DataFrame
完全相同。如果您从dbconn导入
rt testme
,你可以在你的命名空间中得到
testme
,就像你从
scipy.stats.stats
中得到
pearsonr
一样,然后可以直接使用
pearsonr
。如果你编辑的版本不起作用,你正在做一些你没有向我们展示的错误。因为如果我创建了你的
dbconn.py
and
myscript.py
并运行它,它工作正常。是否有可能在模块路径的其他地方有另一个
dbconn.py
?或者您只是忘记保存对
dbconn.py
的最新更改,所以它实际上没有
testme
方法?或者您的实际代码有一个输入错误,并且定义了
tes>是否改为tem
1)import <package>
2)import <module>
3)from <package> import <module or subpackage or object>
4)from <module> import <object>
from dbconn import testme
from testme import dbconn