搜索
bottom↓
回复: 13

请教: 两台电脑,其中一台不能运行下面的main.py脚本文件(附件)

[复制链接]

出70入10汤圆

发表于 2022-9-16 12:13:30 | 显示全部楼层 |阅读模式
100汤圆
本帖最后由 ifare 于 2022-9-16 12:37 编辑

在两台电脑上测试下面工程的py文件脚本,两台电脑上的python都安装的是python的V3.8.8版本
在第一台电脑上(Win8),在sublime和命令行都可以运行main.py文件



在第二台电脑上(Win10),在sublime可以运行main.py文件,但在命令行运行main.py文件时出现错误提示如下图:
请指点一下如何在第二台电脑上也可以在DOS命令行正常运行main.py,谢谢。
(需保留 import uci.core 语句,如果去掉这句第二台电脑在命令行也是可以正常运行的)






testprj/
      
    main.py                  
        import uci.core
        print('111')

    uci/      
        core.py
              print('222')

附件: 您需要 登录 才可以下载或查看,没有帐号?注册

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入1119汤圆

发表于 2022-9-16 12:22:38 | 显示全部楼层
没看到图 我猜运行目录不对?

main.py  开头加上
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))

出70入10汤圆

 楼主| 发表于 2022-9-16 12:40:28 | 显示全部楼层
刚才试了一下,把上面os的两句拷贝到main.py的开头,第二台电脑在命令行还是同样的错误提示

出10入284汤圆

发表于 2022-9-16 13:10:04 来自手机 | 显示全部楼层
uci里面加个文件__init__.py

出280入168汤圆

发表于 2022-9-16 13:11:42 | 显示全部楼层
在各个子目录下都放一个 “__init__.py” 空文件试试。

出70入10汤圆

 楼主| 发表于 2022-9-16 14:01:28 | 显示全部楼层
在uci目录下加了__init__.py(空文件), 第二台电脑在命令行运行还是同样的错误提示 No module named 'uci'

出280入168汤圆

发表于 2022-9-16 14:24:04 | 显示全部楼层
本帖最后由 chunjiu 于 2022-9-16 14:30 编辑
ifare 发表于 2022-9-16 14:01
在uci目录下加了__init__.py(空文件), 第二台电脑在命令行运行还是同样的错误提示 No module named 'uci ...
(引用自6楼)


那这个问题就是对默认 path 的解释是不同的,在不同的 python 版本中对此解释是不同的。

但因为早先官方给出了几个不一样的解决方案,导致了混乱的局面出现,不同时期的 demo 和例子经常会遇到此问题。

最大的可能性是某台电脑上安装的不同模块文件做出了一些不同的动作才造成了此问题的出现,

最好的办法统一安装最新的 python 版本(3.10.7),在最近,该问题 python 官方有了统一的答案,

这可能有助于解决问题,否则你要去一步步的跟踪来找临时的解决方案,

并且不确定此解决方案会不会在新的 python 版本上再次产生同样的问题。


PS:改部分模糊的解释。

出0入0汤圆

发表于 2022-9-16 17:45:57 | 显示全部楼层
命令行工具以管理员模式打开试试

出0入119汤圆

发表于 2022-9-16 21:35:54 | 显示全部楼层
创建一下虚拟环境试试呢?把环境设置成一样的
https://docs.python.org/zh-cn/3/library/venv.html

出0入0汤圆

发表于 2022-9-16 22:27:41 | 显示全部楼层
https://pypi.org/project/pyuci/

安装一下 pyuci 包?
pip install pyuci

出0入0汤圆

发表于 2022-9-16 22:30:06 | 显示全部楼层
应该是这个包
pip install uci

https://pypi.org/project/uci/

出0入0汤圆

发表于 2022-9-19 20:15:58 | 显示全部楼层
本帖最后由 adcr 于 2022-9-19 20:17 编辑

你试试WIN10的DOS以管理员模式运行

出70入10汤圆

 楼主| 发表于 2022-9-20 11:19:56 | 显示全部楼层
本帖最后由 ifare 于 2022-9-20 11:25 编辑

刚才用管理员模式运行了dos模式,, 第二台电脑在命令行运行还是同样的错误提示 No module named 'uci'
(另外,这里的uci是作为普通目录,不是包,也没有其他特殊功能)

出15入70汤圆

发表于 2022-9-20 12:11:05 | 显示全部楼层
本帖最后由 jadegu 于 2022-9-20 12:19 编辑

对应路径下命令行输入py main.py 输出222 111
现象和你的第一台电脑一样,版本3.6.2
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-27 20:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表