文章目录
- 前言
- 一、raise UsageError("api_key not configured (no-tty). call " + directive)
- 二、TensorBoard: Start with 'tensorboard --logdir runs\train', view at http://localhost:6006/
- 三、AssertionError: negative labels:
- 四、ImportError: DLL load failed while importing win32api: 找不到指定的模块。
- 五、SyntaxError: Non-UTF-8 code starting with '\xd5' in file...
- 六、关于把python编译成exe的问题
前言
最近学习yolov5,下面是记录一些出错的问题,以及问题的解决办法.方便以后查找.
一、raise UsageError("api_key not configured (no-tty). call " + directive)
C:\ProgramData\Anaconda3\envs\yolov5\python.exe D:/yolov5-6.0/train.py
Traceback (most recent call last):
File "D:/yolov5-6.0/train.py", line 48, in <module>
from utils.loggers.wandb.wandb_utils import check_wandb_resume
File "D:\yolov5-6.0\utils\loggers\__init__.py", line 13, in <module>
from utils.loggers.wandb.wandb_utils import WandbLogger
File "D:\yolov5-6.0\utils\loggers\wandb\wandb_utils.py", line 29, in <module>
wandb.login(timeout=30)
File "C:\ProgramData\Anaconda3\envs\yolov5\lib\site-packages\wandb\sdk\wandb_login.py", line 65, in login
configured = _login(**kwargs)
File "C:\ProgramData\Anaconda3\envs\yolov5\lib\site-packages\wandb\sdk\wandb_login.py", line 274, in _login
wlogin.prompt_api_key()
File "C:\ProgramData\Anaconda3\envs\yolov5\lib\site-packages\wandb\sdk\wandb_login.py", line 209, in prompt_api_key
raise UsageError("api_key not configured (no-tty). call " + directive)
wandb.errors.UsageError: api_key not co
解决方法
- 打开Anaconda Powershell Prompt ->安装指令:pip install wandb ->注册账号(获取注册码)-> wandb init ->填入 注册码
- 关闭 wandb 功能
#注释下面两个文件 try:的内容具体如下图
D:\yolov5-6.0\utils\loggers\__init__.py
D:\yolov5-6.0\utils\loggers\wandb\wandb_utils.py
二、TensorBoard: Start with ‘tensorboard --logdir runs\train’, view at http://localhost:6006/
#解决无法显示的问题
#(直接在PyCharm下面的 Terminal 进入输入命令就可以了)
#第一步:进入训练目录
cd D:\yolov5-6.0\runs\train
#第二步:设置生成这种文件的目录(events.out.tfevents.1634282239.xxxxxx.7676.0),一般都在训练目录的下一个目录
tensorboard --logdir=exp
#第三步:直接用浏览器打开生成的网址就可以了
三、AssertionError: negative labels:
解决版本(转载):YOLOV5训练数据集过程中特殊问题记录
四、ImportError: DLL load failed while importing win32api: 找不到指定的模块。
最近在使用python 调用大漠插件遇到的问题.
调用大漠需要 python 32 环境否则就会报错(OSError: [WinError 193] %1 不是有效的 Win32 应用程序。)
如果本地已经安装了 python 64位 还想再安装 python 32位 需要进行如下操作:
-
查看当前工作平台:conda info
-
如果需要安装32位 则先得切换成32位的环境
set CONDA_FORCE_32BIT=1是切换到32位(这样安装的是32位python版本);
set CONDA_FORCE_32BIT= 是切换到64位(这样安装的是64位python版本)。 -
安装python:conda create -n python32(环境名称) python=3.8(版本)
参考: 用anaconda保证64位和32位的python共存
下面是调用免注册例子
import win32com.client
import ctypes
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
#免注册大漠插件
dms = ctypes.windll.LoadLibrary(r'DmReg.dll')
dms.SetDllPathW(r'dm.dll', 0)
# 创建 大漠 对象
dm = win32com.client.Dispatch("dm.dmsoft")
# 输出版本号
print(dm.Ver())
解决问题步骤:
- 打开 Anaconda Prompt
- 激活需要安装的环境 conda activate env_name
- 卸载 和 安装 pywin32
# 一 卸载
#查看pywin32信息(如果有下面直接卸载,一直到没有信息然后继续下一步安装)
pip show pywin32
#卸载 pywin32
pip uninstall pywin32
# 二 安装
#安装 pywin32
pip uninstall pywin32
#在用 conda 命令再安装
conda install pywin32
#然后就可以正常使用了
五、SyntaxError: Non-UTF-8 code starting with ‘\xd5’ in file…
# coding=gbk
# 在文件头部写入编码就可以解决了
六、关于把python编译成exe的问题
# 第一步安装 pyinstaller
pip install pyinstaller
# 第二步安装 PyQt5
pip install PyQt5
# 如果上面安装太卡可以用下面的安装方式
# pip install PyQt5 -i https://pypi.douban.com/simple
# 确保上面都安装完毕了就可以进行编译了.
# 编译成单个exe文件
pyinstaller -F main.py
# 变异成显示命令行窗口exe
pyinstaller -F -w main.py
'''
PyInstaller 支持的常用选项
-h,--help 查看该模块的帮助信息
-F,-onefile 产生单个的可执行文件
-D,--onedir 产生一个目录(包含多个文件)作为可执行程序
-a,--ascii 不包含 Unicode 字符集支持
-d,--debug 产生 debug 版本的可执行文件
-w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
在表 1 中列出的只是 PyInstaller 模块所支持的常用选项,如果需要了解 PyInstaller 选项的详细信息,则可通过 pyinstaller -h 来查看。
'''