2017-01-13 2 views
1

Я пытаюсь использовать osm-bundler:Получение OSError: [Errno 2] Нет такого файла или каталога

ubuntu: ~/osm-bundler$ ./RunBundler.py —photos="/home/ubuntu/photo" 
Working directory created: /home/ubuntu/osm-bundler/output/osm-bundler-o1drFG 
BundlerMatching executable path: /home/ubuntu/osm-bundler/software/bundler/KeyMatchFull 
Sift executable path: /home/ubuntu/osm-bundler/software/sift-lowe/sift 

, но я получаю сообщение об ошибке:

Processing photo 'IMGP3417.jpg': 
Copy of the photo has been scaled down to 1200x900 
Traceback (most recent call last): 
File "./RunBundler.py", line 10, in <module> 
manager.preparePhotos() 
File "/home/ubuntu/osm-bundler/osmbundler/__init__.py", line 168, in preparePhotos 
self._preparePhoto(photoInfo) 
File "/home/ubuntu/osm-bundler/osmbundler/__init__.py", line 278, in _preparePhoto 
self.extractFeatures(photo) 
File "/home/ubuntu/osm-bundler/osmbundler/__init__.py", line 345, in extractFeatures 
self.featureExtractor.extract(photo, self.photoDict[photo]) 
File "/home/ubuntu/osm-bundler/osmbundler/features/siftlowe.py", line 25, in extract 
p = subprocess.call(self.executable, **dict(stdin=photoFile, stdout=siftTextFile)) 
File "/usr/lib/python2.7/subprocess.py", line 523, in call 
return Popen(*popenargs, **kwargs).wait() 
File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ 
errread, errwrite) 
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child 
raise child_exception 
OSError: [Errno 2] No such file or directory 

линии 23,24, & 25 из siftlowe.py :

photoFile = open("%s.jpg.pgm" % photo, "rb") 
siftTextFile = open("%s.key" % photo, "w") 
subprocess.call(self.executable, **dict(stdin=photoFile, stdout=siftTextFile)) 

Разрешения на доступ к файлам установлены правильно.

+2

Это потому, что 'self.executable' не существует. Вы можете распечатать его? –

+0

Да, я могу распечатать его (/ home/ubuntu/osm-bundler/software/sift-lowe/sift) – Ian

+0

Я думаю, что ответ ниже решает вашу проблему. Можете ли вы подтвердить, что/принять ответ, если работает? –

ответ

0

Похоже, что вы установили только osm-bundler.zip, а не osm-budler-full.zip. Строка с self.executable пытается выполнить просеивание, которое ожидается в /home/ubuntu/osm-bundler/software/sift-lowe/sift. Это, скорее всего, не установлено (я сам пробовал его с osm-bundler.zip, и этого не было).

+0

Спасибо. Теперь я установил osm-bundler-full.zip. Путь для файла sift - это/home/ubuntu/osm-bundler/software/sift-lowe/sift .... Но ошибка такая же. – Ian

+0

@Ian вы можете скопировать-вставить команду, которую вы вызываете, с полным выходом в gist. github.com и добавьте сюда ссылку? – hansaplast

Смежные вопросы