前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修复python的ModuleNotFo

修复python的ModuleNotFo

作者头像
py3study
发布2020-01-10 15:40:19
5480
发布2020-01-10 15:40:19
举报
文章被收录于专栏:python3python3

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

myscript.bat

代码语言:javascript
复制
"%dp0\python-3.6.1-embed-amd64\python.exe" "%dp0\myscript.py"pause

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

代码语言:javascript
复制
from mymodule import solution_directory, defaultprinter, hash

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

代码语言:javascript
复制
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顶部,增加这样两行

代码语言:javascript
复制
import sys, os
sys.path.append(os.path.realpath(os.path.dirname(os.path.realpath(__file__))))

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档