python-3.x - What to do when python don't want to run a previous working program?
问题描述
This script was running ok before I upgraded from 15.1 to 15.2 (LInux LEAP)
import pixellib
import time
from pixellib.instance import instance_segmentation
segment_image=instance_segmentation()
segment_image.load_model("mask_rcnn_coco.h5")
start = time.time()
segment_image.segmentImage("thisone.png",output_image_name="thisone_ryzen.png",show_bboxes = True)
end = time.time()
print(f"Inference Time: {end-start:.2f}seconds")
Now I have these errors:
sirius:/cours/journalisme/ia/ryzen7 # ./rigolade.py
./rigolade.py: line 4: from: command not found
./rigolade.py: line 6: syntax error near unexpected token `('
./rigolade.py: line 6: `segment_image=instance_segmentation()'
解决方案
它曾经在您运行时运行python3 ./rigolade.py
,但现在您正在运行./rigolade.py
。通过这样做,并且不包括 Python 的 shebang 行,它试图将脚本作为 shell 命令执行。添加一个 shebang 行,如:
#!/usr/bin/env python3
到文件的最顶部(第一行),它应该可以工作。或者只是像以前一样使用python3
(或python
依赖于环境)显式运行它。
直到第三行才出现错误的原因是因为许多 Linux 发行版实际上附带了一个名为import
(通常是截图截图工具)的工具;您可能想删除它刚刚留在工作目录中的pixellib
和文件。time
但是from
不是一个可识别的命令,并且括号与您的 shell 的语法规则不匹配,因此它从那时开始出错。
推荐阅读
- java - TabLayout 仅带有图标而不是文本
- python - 重复按键时蛇移动得更快
- java - 用于 Bittorrent 跟踪器连接的 Java NIO 与 Thread
- java - 使用 Byte Buddy 拦截器在构造函数中初始化字段
- database-design - 数据库结构方向和参考 ID 根据另一列引用不同的表
- python - 如何解析多个子页面,合并/追加并向上传递到父级?
- javascript - I need to add local storage to my to do list and I'm clueless
- django - 在 Apache 上部署 Django 应用程序后媒体文件夹的 FileNotFoundError
- r - 在 R 中读取 xml 文本时避免连接单词单词
- python - 从 tf.tensor 在一个操作中提取几列