开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

修复python的ModuleNotFoundError

简介:
+关注继续查看

我在项目里面用到了python,但其他的同事并没有安装python环境,为了不强制每个人都安装python,我下载了python-3.6.1-embed-amd64,并将用一个.bat去调用它。
大概像这样

myscript.bat

"%dp0\python-3.6.1-embed-amd64\python.exe" "%dp0\myscript.py"pause

我写了两个python文件,这里假设是mymodule.py和myscript.py
在myscript.py里,我有这样的语句:

from mymodule import solution_directory, defaultprinter, hash

结果在双击myscript.bat时,报了一个错:

Traceback (most recent call last):
   File "D:Projectsmyscript.py", line 9, in \<module\>
     from mymodule import solution_directory, defaultprinter, hash
 ModuleNotFoundError: No module named 'mymodule'

可是这里我明明有mymodule.py啊?
经过一番辛苦
原来是这个embeded的python在它默认的path里,没有搜索到我的mymoudle.py文件。
解决方案,在myscript.py顶部,增加这样两行

import sys, os
sys.path.append(os.path.realpath(os.path.dirname(os.path.realpath(__file__))))

再次双击myscript.bat,完全没有问题了。






      本文转自zsdnr  51CTO博客,原文链接:http://blog.51cto.com/12942149/1949752,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程:使用os.urandom生成Flask的SECRET_KEY
Python编程:使用os.urandom生成Flask的SECRET_KEY
12 0
Python编程:使用os.urandom生成Flask的SECRET_KEY
Python编程:使用os.urandom生成Flask的SECRET_KEY
12 0
python编程-15:图形库的应用方法graphics
python编程-15:图形库的应用方法graphics
10 0
Python编程:Flask或者Jinja2时间格式化
Jinja2 模板支持python函数,直接使用事件对象的方法 格式化即可
10 0
Python编程:Flask数据库扩展Flask-SQLAlchemy
Python编程:Flask数据库扩展Flask-SQLAlchemy
73 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载