Импорт очень пробит в SimpleCV. Я боролся с той же проблемой, с которой вы сталкиваетесь. И причина, по которой они не хотят ее исправлять (согласно их ответам на их сайте (http://help.simplecv.org/question/472/code-completion-with-eclipse/), не потому, что они «все используют vim, emacs, vi», а потому, что многие из их кодов полагаются на вытягивание многих библиотек в локальное пространство имен с * импортом. Это ленивое программирование в лучшем случае, и очень плохо программирование иначе.
Heck, вы не можете даже импортировать некоторые из своих файлов самих по себе, потому что они полагаются на SimpleCV инициализация .py файла и базы .py, который уже импортирован. Оба этих файла имеют большой объемный импорт. Мне было интересно, почему для импорта 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 и применять «вещий» пути к ним. Но этот беспорядок импорта просто прав, доказывает, что он ошибается.
Моя попытка зафиксировать их импорт заключалась в том, чтобы удалить все эти файлы импорта из файла 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.
Боюсь, что у меня больше нет SimpleCV на моей системе, поэтому я не могу это проверить. Через некоторое время я просто сдался, и переключился на OpenCV. Как только вы пройдете начальную кривую обучения, это действительно не так уж плохо. Хорошо сделано, чтобы заставить его работать! У меня просто не было терпения ... – casper