首页 > 解决方案 > 我从安装requirement.txt 后尝试运行应用程序?

问题描述

我在安装后尝试运行应用程序requirement.txthttps ://github.com/victordibia/skyfall

我收到以下错误:

File "app.py", line 19, in `<module>`

from utils import web_socket_client

File "C:\Users\anurag\Downloads\skyfall-master\utils\web_socket_client.py", line 8, in <module>

from websocket import WebSocketException, WebSocketConnectionClosedException ImportError: cannot import name 'WebSocketException'`

是否有另一种运行应用程序的方式..如果需要在文件中进行更改并发送 github 链接

标签: pythonwebtensorflowflaskwebsocket

解决方案


我在 Debian Linux 和 Python 3.6.5 上运行该应用程序没有问题。也许您需要在 python 虚拟环境中运行它以确保某些已安装的包不会干扰。Linux 使用说明:

  1. 将 git 克隆到本地文件夹:

git clone https://github.com/victordibia/skyfall

  1. 在附近的文件夹中创建python3虚拟环境:

python3-venv使用包管理器安装包。跑:

python3 -m venv skyfall_venv

然后 source skyfall_venv/bin/activate

现在您处于虚拟环境中,该环境在您的 shell 中显示。做

(skyfall_venv): pip install --upgrade pip

如果它不起作用,请执行

(skyfall_venv): pip3 install --upgrade pip

在您的 venv 中拥有最新的点子。

3.然后编辑skyfall/requirements.txt删除-egit前面的额外内容,它必须如下所示:

Flask==0.12.2
opencv_python==3.4.0.12
numpy==1.14.2
tensorflow==1.7.0
protobuf==3.5.2.post1
websocket_client==0.47.0
git+https://github.com/dpallot/simple-websocket-server.git

在 venv 中运行:

(skyfall_venv): pip install -r requirements.txt(或者pip3如果前者不起作用)

4.您应该没有看到任何错误。在 venv 中运行应用程序:

(skyfall_venv): cd skyfall

(skyfall_venv): python app.py (如果前者不起作用,则为 python3)

我看到带有手势识别的窗口,如果我在应用程序建议的浏览器中打开网址,我可以玩游戏。

cvcam.py

import cv2

cap = cv2.VideoCapture(0)

# Check if the webcam is opened correctly
if not cap.isOpened():
    raise IOError("Cannot open webcam")

while True:
    ret, frame = cap.read()
    frame = cv2.resize(frame, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)
    cv2.imshow('Input', frame)

    c = cv2.waitKey(1)
    if c == 27:
        break

cap.release()
cv2.destroyAllWindows()

推荐阅读