0
我試圖使用pip爲Python安裝flandmark,但我最終得到了一個錯誤,我無法弄清楚如何解決或錯誤意味着什麼。「UnicodeDecodeError:'ascii'編碼解碼器無法解碼位置75中的字節0xe2:序號不在範圍內(128)」使用pip for python flandmark
在Ubuntu的終端,我用這個命令:
sudo pip install bob.ip.flandmark
當我試圖使用該命令,它給了我這個錯誤:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 235, in main
return command.main(cmd_args)
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 75: ordinal not in range(128)
這是從Ubuntu的另一個輸出命令行(有些被切斷,因爲它不會讓我去的任何進一步):
from bob/ip/flandmark/flandmark_detector.h:15,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note: ‘std::string’
typedef basic_string<char> string;
^
In file included from /usr/local/include/opencv/cvaux.h:56:0,
from bob/ip/flandmark/flandmark_detector.h:16,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2673:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float)’ uses the default argument for parameter 3, which is not yet defined
OneWayDescriptorMatcher(const Params& params=Params());
^
/usr/local/include/opencv2/legacy.hpp:2673:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float)’ uses the default argument for parameter 4, which is not yet defined
/usr/local/include/opencv2/legacy.hpp:2673:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float)’ uses the default argument for parameter 5, which is not yet defined
/usr/local/include/opencv2/legacy.hpp:2718:1: error: expected class-name before ‘{’ token
{
^
/usr/local/include/opencv2/legacy.hpp:2732:23: error: ‘string’ does not name a type
Params(const string& filename);
^
/usr/local/include/opencv2/legacy.hpp:2743:9: error: ‘string’ does not name a type
string filename;
^
/usr/local/include/opencv2/legacy.hpp:2759:17: error: ‘GenericDescriptorMatcher’ was not declared in this scope
virtual Ptr<GenericDescriptorMatcher> clone(bool emptyTrainData=false) const;
^
/usr/local/include/opencv2/legacy.hpp:2759:41: error: template argument 1 is invalid
virtual Ptr<GenericDescriptorMatcher> clone(bool emptyTrainData=false) const;
^
/usr/local/include/opencv2/legacy.hpp:2762:55: error: ‘vector’ has not been declared
virtual void knnMatchImpl(const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy.hpp:2762:61: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void knnMatchImpl(const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy.hpp:2765:58: error: ‘vector’ has not been declared
virtual void radiusMatchImpl(const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy.hpp:2765:64: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void radiusMatchImpl(const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
^
/usr/local/include/opencv2/legacy.hpp:2771:70: error: ‘vector’ has not been declared
float& bestProb, int& bestMatchIdx, vector<float>& signature);
^
/usr/local/include/opencv2/legacy.hpp:2771:76: error: expected ‘,’ or ‘...’ before ‘<’ token
float& bestProb, int& bestMatchIdx, vector<float>& signature);
^
/usr/local/include/opencv2/legacy.hpp:2785:40: error: ‘string’ does not name a type
CalonderDescriptorExtractor(const string& classifierFile);
^
/usr/local/include/opencv2/legacy.hpp:2796:49: error: ‘vector’ has not been declared
virtual void computeImpl(const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors) const;
^
/usr/local/include/opencv2/legacy.hpp:2796:55: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void computeImpl(const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors) const;
^
/usr/local/include/opencv2/legacy.hpp:2803:1: error: prototype for ‘cv::CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const string&)’ does not match any in class ‘cv::CalonderDescriptorExtractor<T>’
CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const std::string& classifier_file)
^
/usr/local/include/opencv2/legacy.hpp:2785:5: error: candidate is: cv::CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const int&)
CalonderDescriptorExtractor(const string& classifierFile);
^
/usr/local/include/opencv2/legacy.hpp:2810:50: error: ‘vector’ has not been declared
vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2810:56: error: expected ‘,’ or ‘...’ before ‘<’ token
vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp: In member function ‘virtual void cv::CalonderDescriptorExtractor<T>::computeImpl(const cv::Mat&, int) const’:
/usr/local/include/opencv2/legacy.hpp:2814:39: error: ‘keypoints’ was not declared in this scope
KeyPointsFilter::runByImageBorder(keypoints, image.size(), BORDER_SIZE);
^
/usr/local/include/opencv2/legacy.hpp:2817:5: error: ‘descriptors’ was not declared in this scope
descriptors.create((int)keypoints.size(), classifier_.classes(), cv::DataType<T>::type);
^
/usr/local/include/opencv2/legacy.hpp:2825:58: error: expected primary-expression before ‘>’ token
classifier_.getSignature(&ipl, descriptors.ptr<T>((int)i));
^
/usr/local/include/opencv2/legacy.hpp: In member function ‘virtual bool cv::CalonderDescriptorExtractor<T>::empty() const’:
/usr/local/include/opencv2/legacy.hpp:2840:24: error: ‘const class cv::RTreeClassifier’ has no member named ‘trees_’
return classifier_.trees_.empty();
^
/usr/local/include/opencv2/legacy.hpp: At global scope:
/usr/local/include/opencv2/legacy.hpp:2864:32: error: ‘vector’ does not name a type
PlanarObjectDetector(const vector<Mat>& pyr, int _npoints=300,
^
/usr/local/include/opencv2/legacy.hpp:2864:38: error: expected ‘,’ or ‘...’ before ‘<’ token
PlanarObjectDetector(const vector<Mat>& pyr, int _npoints=300,
^
/usr/local/include/opencv2/legacy.hpp:2872:30: error: ‘vector’ does not name a type
virtual void train(const vector<Mat>& pyr, int _npoints=300,
^
/usr/local/include/opencv2/legacy.hpp:2872:36: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void train(const vector<Mat>& pyr, int _npoints=300,
^
/usr/local/include/opencv2/legacy.hpp:2879:30: error: ‘vector’ does not name a type
virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2879:36: error: expected ‘,’ or ‘...’ before ‘<’ token
virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2879:18: error: ‘virtual void cv::PlanarObjectDetector::train(int)’ cannot be overloaded
virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2872:18: error: with ‘virtual void cv::PlanarObjectDetector::train(int)’
virtual void train(const vector<Mat>& pyr, int _npoints=300,
^
/usr/local/include/opencv2/legacy.hpp:2887:5: error: ‘vector’ does not name a type
vector<KeyPoint> getModelPoints() const;
^
/usr/local/include/opencv2/legacy.hpp:2894:61: error: ‘vector’ has not been declared
bool operator()(const Mat& image, CV_OUT Mat& H, CV_OUT vector<Point2f>& corners) const;
^
/usr/local/include/opencv2/legacy.hpp:2894:67: error: expected ‘,’ or ‘...’ before ‘<’ token
bool operator()(const Mat& image, CV_OUT Mat& H, CV_OUT vector<Point2f>& corners) const;
^
/usr/local/include/opencv2/legacy.hpp:2895:27: error: ‘vector’ does not name a type
bool operator()(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2895:33: error: expected ‘,’ or ‘...’ before ‘<’ token
bool operator()(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/legacy.hpp:2902:5: error: ‘vector’ does not name a type
vector<KeyPoint> modelPoints;
^
/usr/local/include/opencv2/legacy.hpp:2950:38: error: variable or field ‘cvInitSubdivDelaunay2D’ declared void
CVAPI(void) cvInitSubdivDelaunay2D(CvSubdiv2D* subdiv, CvRect rect);
^
/usr/local/include/opencv2/legacy.hpp:2950:38: error: ‘CvSubdiv2D’ was not declared in this scope
/usr/local/include/opencv2/legacy.hpp:2950:50: error: ‘subdiv’ was not declared in this scope
CVAPI(void) cvInitSubdivDelaunay2D(CvSubdiv2D* subdiv, CvRect rect);
^
/usr/local/include/opencv2/legacy.hpp:2950:65: error: expected primary-expression before ‘rect’
CVAPI(void) cvInitSubdivDelaunay2D(CvSubdiv2D* subdiv, CvRect rect);
^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
from /usr/local/include/opencv/cv.h:63,
from bob/ip/flandmark/flandmark_detector.h:15,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2953:1: error: ‘CvSubdiv2D’ does not name a type
CVAPI(CvSubdiv2D*) cvCreateSubdiv2D(int subdiv_type, int header_size,
^
In file included from /usr/local/include/opencv/cvaux.h:56:0,
from bob/ip/flandmark/flandmark_detector.h:16,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2960:12: error: ‘CvSubdiv2D’ does not name a type
CV_INLINE CvSubdiv2D* cvCreateSubdivDelaunay2D(CvRect rect, CvMemStorage* storage)
^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
from /usr/local/include/opencv/cv.h:63,
from bob/ip/flandmark/flandmark_detector.h:15,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2971:1: error: ‘CvSubdiv2DPoint’ does not name a type
CVAPI(CvSubdiv2DPoint*) cvSubdivDelaunay2DInsert(CvSubdiv2D* subdiv, CvPoint2D32f pt);
^
/usr/local/include/opencv2/legacy.hpp:2976:1: error: ‘CvSubdiv2DPointLocation’ does not name a type
CVAPI(CvSubdiv2DPointLocation) cvSubdiv2DLocate(
^
In file included from /usr/local/include/opencv/cvaux.h:56:0,
from bob/ip/flandmark/flandmark_detector.h:16,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2982:37: error: variable or field ‘cvCalcSubdivVoronoi2D’ declared void
CVAPI(void) cvCalcSubdivVoronoi2D(CvSubdiv2D* subdiv);
^
/usr/local/include/opencv2/legacy.hpp:2982:37: error: ‘CvSubdiv2D’ was not declared in this scope
/usr/local/include/opencv2/legacy.hpp:2982:49: error: ‘subdiv’ was not declared in this scope
CVAPI(void) cvCalcSubdivVoronoi2D(CvSubdiv2D* subdiv);
^
/usr/local/include/opencv2/legacy.hpp:2986:38: error: variable or field ‘cvClearSubdivVoronoi2D’ declared void
CVAPI(void) cvClearSubdivVoronoi2D(CvSubdiv2D* subdiv);
^
/usr/local/include/opencv2/legacy.hpp:2986:38: error: ‘CvSubdiv2D’ was not declared in this scope
/usr/local/include/opencv2/legacy.hpp:2986:50: error: ‘subdiv’ was not declared in this scope
CVAPI(void) cvClearSubdivVoronoi2D(CvSubdiv2D* subdiv);
^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
from /usr/local/include/opencv/cv.h:63,
from bob/ip/flandmark/flandmark_detector.h:15,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2990:1: error: ‘CvSubdiv2DPoint’ does not name a type
CVAPI(CvSubdiv2DPoint*) cvFindNearestPoint2D(CvSubdiv2D* subdiv, CvPoint2D32f pt);
^
In file included from /usr/local/include/opencv/cvaux.h:56:0,
from bob/ip/flandmark/flandmark_detector.h:16,
from bob/ip/flandmark/flandmark_detector.cpp:17:
/usr/local/include/opencv2/legacy.hpp:2995:12: error: ‘CvSubdiv2DEdge’ does not name a type
CV_INLINE CvSubdiv2DEdge cvSubdiv2DNextEdge(CvSubdiv2DEdge edge)
^
/usr/local/include/opencv2/legacy.hpp:3001:12: error: ‘CvSubdiv2DEdge’ does not name a type
CV_INLINE CvSubdiv2DEdge cvSubdiv2DRotateEdge(CvSubdiv2DEdge edge, int rotate)
^
/usr/local/include/opencv2/legacy.hpp:3006:12: error: ‘CvSubdiv2DEdge’ does not name a type
CV_INLINE CvSubdiv2DEdge cvSubdiv2DSymEdge(CvSubdiv2DEdge edge)
^
/usr/local/include/opencv2/legacy.hpp:3011:12: error: ‘CvSubdiv2DEdge’ does not name a type
CV_INLINE CvSubdiv2DEdge cvSubdiv2DGetEdge(CvSubdiv2DEdge edge, CvNextEdgeType type)
^
/usr/local/include/opencv2/legacy.hpp:3019:12: error: ‘CvSubdiv2DPoint’ does not name a type
CV_INLINE CvSubdiv2DPoint* cvSubdiv2DEdgeOrg(CvSubdiv2DEdge edge)
^
/usr/local/include/opencv2/legacy.hpp:3026:12: error: ‘CvSubdiv2DPoint’ does not name a type
CV_INLINE CvSubdiv2DPoint* cvSubdiv2DEdgeDst(CvSubdiv2DEdge edge)
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/bob.ip.flandmark/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nOl3aD-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/bob.ip.flandmark
如何我會解決這樣的問題嗎?