Darkflow -- 没有名为"darkflow.cython_utils.cy_yolo_findbox"的模块



我已经使用pip install .命令成功地在Windows 10上安装了darkflow-1.0.0(https://github.com/thtrieu/darkflow(。

Successfully built darkflow
Installing collected packages: darkflow
Found existing installation: darkflow 1.0.0
Uninstalling darkflow-1.0.0:
Successfully uninstalled darkflow-1.0.0
Successfully installed darkflow-1.0.0

在此之后,我正在尝试运行python flow --h,这给了我以下错误:

Traceback (most recent call last):
File "flow", line 4, in <module>
from darkflow.cli import cliHandler
File "C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflowdarkflowcli.py", line 3, in <module>
from .net.build import TFNet
File "C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflowdarkflownetbuild.py", line 7, in <module>
from .framework import create_framework
File "C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflowdarkflownetframework.py", line 1, in <module>
from . import yolo
File "C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflowdarkflownetyolo__init__.py", line 2, in <module>
from . import predict
File "C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflowdarkflownetyolopredict.py", line 7, in <module>
from ...cython_utils.cy_yolo_findboxes import yolo_box_constructor
ModuleNotFoundError: No module named 'darkflow.cython_utils.cy_yolo_findboxes'

所以我尝试使用python setup.py build_ext --inplace命令构建 Cython 扩展,这给了我以下错误:

(base) C:UsersfildaDesktopFIT_VUTBPYOLOYOLO_kerasdarkflow-master>python setup.py build_ext --inplace
running build_ext
building 'darkflow.cython_utils.nms' extension
creating buildtemp.win-amd64-3.5
creating buildtemp.win-amd64-3.5Release
creating buildtemp.win-amd64-3.5Releasedarkflow
creating buildtemp.win-amd64-3.5Releasedarkflowcython_utils
C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.15.26726binHostX64x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -IC:UsersfildaAnaconda3libsite-packagesnumpycoreinclude -IC:UsersfildaAnaconda3include -IC:UsersfildaAnaconda3include "-IC:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.15.26726Include" "-IC:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.15.26726ATLMFCInclude" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0ucrt" "-IC:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum" /Tcdarkflow/cython_utils/nms.c /Fobuildtemp.win-amd64-3.5Releasedarkflow/cython_utils/nms.obj
nms.c
c1: fatal error C1083: Cannot open source file: 'darkflow/cython_utils/nms.c': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX64\x64\cl.exe' failed with exit status 2

点显示 -f 暗流:

Name: darkflow
Version: 1.0.0
Summary: Darkflow
Home-page: https://github.com/thtrieu/darkflow
Author: UNKNOWN
Author-email: UNKNOWN
License: GPLv3
Location: c:usersfildaanaconda3libsite-packages
Requires:
Required-by:
Files:
....Scriptsflow
darkflow-1.0.0.dist-infoINSTALLER
darkflow-1.0.0.dist-infoMETADATA
darkflow-1.0.0.dist-infoRECORD
darkflow-1.0.0.dist-infoWHEEL
darkflow-1.0.0.dist-infotop_level.txt
darkflow__init__.py
darkflow__pycache____init__.cpython-35.pyc
darkflow__pycache__cli.cpython-35.pyc
darkflow__pycache__defaults.cpython-35.pyc
darkflow__pycache__version.cpython-35.pyc
darkflowcli.py
darkflowcython_utils__init__.py
darkflowcython_utils__pycache____init__.cpython-35.pyc
darkflowcython_utilscy_yolo2_findboxes.cp35-win_amd64.pyd
darkflowcython_utilscy_yolo_findboxes.cp35-win_amd64.pyd
darkflowcython_utilsnms.cp35-win_amd64.pyd
darkflowdark__init__.py
darkflowdark__pycache____init__.cpython-35.pyc
darkflowdark__pycache__connected.cpython-35.pyc
darkflowdark__pycache__convolution.cpython-35.pyc
darkflowdark__pycache__darknet.cpython-35.pyc
darkflowdark__pycache__darkop.cpython-35.pyc
darkflowdark__pycache__layer.cpython-35.pyc
darkflowdarkconnected.py
darkflowdarkconvolution.py
darkflowdarkdarknet.py
darkflowdarkdarkop.py
darkflowdarklayer.py
darkflowdefaults.py
darkflownet__init__.py
darkflownet__pycache____init__.cpython-35.pyc
darkflownet__pycache__build.cpython-35.pyc
darkflownet__pycache__flow.cpython-35.pyc
darkflownet__pycache__framework.cpython-35.pyc
darkflownet__pycache__help.cpython-35.pyc
darkflownetbuild.py
darkflownetflow.py
darkflownetframework.py
darkflownethelp.py
darkflownetops__init__.py
darkflownetops__pycache____init__.cpython-35.pyc
darkflownetops__pycache__baseop.cpython-35.pyc
darkflownetops__pycache__convolution.cpython-35.pyc
darkflownetops__pycache__simple.cpython-35.pyc
darkflownetopsbaseop.py
darkflownetopsconvolution.py
darkflownetopssimple.py
darkflownetvanilla__init__.py
darkflownetvanilla__pycache____init__.cpython-35.pyc
darkflownetvanilla__pycache__train.cpython-35.pyc
darkflownetvanillatrain.py
darkflownetyolo__init__.py
darkflownetyolo__pycache____init__.cpython-35.pyc
darkflownetyolo__pycache__data.cpython-35.pyc
darkflownetyolo__pycache__misc.cpython-35.pyc
darkflownetyolo__pycache__predict.cpython-35.pyc
darkflownetyolo__pycache__train.cpython-35.pyc
darkflownetyolodata.py
darkflownetyolomisc.py
darkflownetyolopredict.py
darkflownetyolotrain.py
darkflownetyolov2__init__.py
darkflownetyolov2__pycache____init__.cpython-35.pyc
darkflownetyolov2__pycache__data.cpython-35.pyc
darkflownetyolov2__pycache__predict.cpython-35.pyc
darkflownetyolov2__pycache__train.cpython-35.pyc
darkflownetyolov2data.py
darkflownetyolov2predict.py
darkflownetyolov2train.py
darkflowutils__init__.py
darkflowutils__pycache____init__.cpython-35.pyc
darkflowutils__pycache__box.cpython-35.pyc
darkflowutils__pycache__im_transform.cpython-35.pyc
darkflowutils__pycache__loader.cpython-35.pyc
darkflowutils__pycache__pascal_voc_clean_xml.cpython-35.pyc
darkflowutils__pycache__process.cpython-35.pyc
darkflowutilsbox.py
darkflowutilsim_transform.py
darkflowutilsloader.py
darkflowutilspascal_voc_clean_xml.py
darkflowutilsprocess.py
darkflowversion.py

我已经让它在 Linux 上运行,但我仍然希望它也适用于 Windows。有人可以指出我正确的方向吗?

这是一个名称冲突:您已经通过pip install .成功安装了软件包,所以现在darkflow可以通过site-packages目录在sys.path中找到。但是当你运行python script.py时,当前工作目录会预置为sys.path,所以如果当前 dir 包含软件包darkflow,则会在site-packages中安装的目录之前选择它。由于源代码目录不包含共享对象,因此脚本将失败。

解决方案是从另一个目录运行脚本,例如

cd %HOMEPATH% & flow -h

或者,如果需要使用代码,请在可编辑模式下重新安装包:

pip uninstall -y darkflow & cd pathtodarkflow-master & pip install -e .

这样,共享对象将与源代码一起编译和放置,因此您现在可以从任何地方运行flow

最新更新