python3导入当前目录模块里的函数出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3导入当前目录模块里的函数出错相关的知识,希望对你有一定的参考价值。
会出现错误信息 File "F:\Program Files\Anaconda3\lib\site-packages\vnpy\trader\gateway\ctpGateway\__init__.py", line 4, in <module> from ctpGateway import CtpGateway ModuleNotFoundError: No module named 'ctpGateway_init__.py代码如下:# encoding: UTF-8from vnpy.trader import vtConstantfrom ctpGateway import CtpGatewaygatewayClass = CtpGatewaygatewayName = 'CTP'gatewayDisplayName = 'CTP'gatewayType = vtConstant.GATEWAYTYPE_FUTURESgatewayQryEnabled = True应该是python版本的问题,不知道怎么修改,还请多多指教
你的意思我看懂了,你是打算从ctpGateway导入ctpGateway这个py文件,但是import ... from 不是这么用的import ... from ...的意思是从x模块导入x对象
如果有子路径的话,应该是这样 from path.moudle import instance 参考技术A 看看别的文件能不能正常导入把第一行注释掉,看看第二行是否有同样问题
解决:python命令行运行出错 ImportError: No module named ...
一. 发现问题
今天在cmd命令行运行一个py文件,本来在pycharm中运行好好的文件,在命令行却报错了,直接提示我:ImportError: No module named ‘homeworks‘
二. 什么原因
这是因为pycharm中,不光会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块。在pycharm中,当前工作目录就是项目目录,能顺利调用相同项目中的模块。但通过命令行启动时,当前工作目录有可能不是项目目录,那么项目中的模块就不会被找到,因此运行时会报错:ImportError: No module named ...
三. 如何解决
方法一:
新建环境变量PYTHONPATH,将模块路径放到环境变量中作为全局变量(推荐使用)
由于我的main.py文件所在的路径为:D:python_workshoppython6homeworksxiaozhai_lesson17_homeworkTestCases
方法二:
在代码中使用sys.path.append方法将main.py所在目录加入到搜素目录中,切记,这段代码必须放在from ... import ...前面
注意:
选择上面两种方法任意一种都可以,如果修改完代码或者配置完环境变量后,在命令行还是报错,这时请退出cmd,重新进入,然后就可以顺利的运行了
参考文章
https://blog.csdn.net/qq_35304570/article/details/78151545
https://blog.csdn.net/hello__Jerry/article/details/79586034
以上是关于python3导入当前目录模块里的函数出错的主要内容,如果未能解决你的问题,请参考以下文章