Дополнение кода SimpleCV с Eclipse

1

Недавно мне удалось запустить SimpleCV и запустить некоторые проблемы. Теперь у меня установлен рабочий SimpleCV и я использую его с Eclipse Indigo. Тем не менее, весь мой импорт из SimpleCV отмечен красным цветом, а Eclipse заявляет, что он не может найти указанный импорт (хотя импортированные функции работают нормально).

Есть ли способ, чтобы Eclipse распознал импорт из SimpleCV, так что я могу использовать его функциональность кода Ctrl-Space?

Я попытался добавить "SimpleCV" к Forced Builtins, но без успеха. (Это то, что я сделал, когда у меня была такая же проблема для OpenCV, и тогда это сработало)

Спасибо за любой совет!

Теги:
simplecv

1 ответ

1
Лучший ответ

Импорт очень сильно нарушен в SimpleCV. Я боролся с той же проблемой, с которой вы сталкиваетесь. И причина, по которой они не хотят ее исправлять (согласно их ответам на их сайте (http://help.simplecv.org/question/472/code-completion-with-eclipse/), не потому, что они "все используют vim, emacs, vi ", а потому, что многие из их кодов полагаются на вытеснение многих библиотек в локальное пространство имен с * import. Это ленивое программирование в лучшем случае и действительно плохое программирование в противном случае.

Черт, вы не можете даже импортировать некоторые из своих файлов сами по себе, потому что они полагаются на файл инициализации простой. Оба этих файла имеют большой объем импорта. Мне было интересно, почему для импорта SimpleCV понадобилось более 2 секунд для работы на моем ПК с SSD. Теперь я знаю.

Их файл init.py имеет следующие импорт:

from SimpleCV.base import *
from SimpleCV.Camera import *
from SimpleCV.Color import *
from SimpleCV.Display import *
from SimpleCV.Features import *
from SimpleCV.ImageClass import *
from SimpleCV.Stream import *
from SimpleCV.Font import *
from SimpleCV.ColorModel import *
from SimpleCV.DrawingLayer import *
from SimpleCV.Segmentation import *
from SimpleCV.MachineLearning import *

И их файл base.py имеет еще больше импорта:

import os
import sys
import warnings
import time
import socket
import re
import urllib2
import types
import SocketServer
import threading
import tempfile
import zipfile
import pickle
import glob #for directory scanning
import abc #abstract base class
import colorsys
import logging
import pygame as pg
import scipy.ndimage as ndimage
import scipy.stats.stats as sss  #for auto white balance
import scipy.cluster.vq as scv    
import scipy.linalg as nla  # for linear algebra / least squares
import math # math... who does that 
import copy # for deep copy
import numpy as np
import scipy.spatial.distance as spsd
import scipy.cluster.vq as cluster #for kmeans
import pygame as pg
import platform
import copy
import types
import time

from numpy import linspace
from scipy.interpolate import UnivariateSpline
from warnings import warn
from copy import copy
from math import *
from pkg_resources import load_entry_point
from SimpleHTTPServer import SimpleHTTPRequestHandler
from types import IntType, LongType, FloatType, InstanceType
from cStringIO import StringIO
from numpy import int32
from numpy import uint8
from EXIF import *
from pygame import gfxdraw
from pickle import *

Вы знаете, что они утверждают, что конвертируют все эти разрозненные библиотеки CV и применяют к ним "Pythonic". Но этот беспорядок импорта просто прав, доказывает, что он ошибается.

Моя попытка зафиксировать их импорт заключалась в том, чтобы удалить все эти импорт * из файла init.py, что помогает с задержкой завершения кода, которую он представляет в eclipse. Затем импортируйте директорию яиц SimpleCV (C:\Python27\Lib\site-packages\simplecv-1.3-py2.7.egg) в eclipse как внешнюю библиотеку. После этого я смог запустить это:

from SimpleCV.ImageClass import Image

То же самое касается импорта Цвет:

from SimpleCV.Color import Color

Есть циклический импорт, поэтому остерегайтесь тех, кто может вас укусить. У меня был один ранее, пытаясь импортировать SimpleCV.Color перед импортом SimpleCV.ImageClass. Обратите внимание, что с приведенными выше инструкциями я, похоже, могу получить завершение кода из Eclipse.

  • 1
    Боюсь, у меня больше нет SimpleCV в моей системе, поэтому я не могу это проверить. Однако через некоторое время я просто сдался и перешел на OpenCV. Как только вы пройдете начальную кривую обучения, это действительно не так уж и плохо. Хорошо сделано, чтобы заставить его работать, хотя! У меня просто не хватило терпения ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню