Успешно работали над проектом хобби, включающим python в виртуальной среде с использованием opencv.Попытка переименовать python virtualenv, ошибки opencv
Сегодня по причинам администратора мне нужно было изменить имя виртуального env. Сделал так, прежде чем с другими проектами без проблем с использованием virtualenvwrapper:
cpvirtualenv oldenv newenv
rmvirtualenv oldenv
Так в основном точно такие же, но переименована копия с таким же пипом устанавливает, OpenCV файлов и т.д. Однако теперь, когда я бег сценария питона в newenv я получаю:
(opencv)[1][email protected] ~/PyProjects/facedetect $ python facedetectlive.py
Traceback (most recent call last):
File "facedetectlive.py", line 10, in <module>
import cv
File "/home/dan/PyProjects/.virtualenvs/opencv/lib/python2.7/site-packages/cv.py", line 1, in <module>
from cv2.cv import *
ImportError: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
Если я проверить резюме из питона оболочки подтверждает что-то не так:
(opencv)[1][email protected] ~/PyProjects/facedetect $ python
Python 2.7.5+ (default, Sep 17 2013, 15:31:50)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dan/PyProjects/.virtualenvs/opencv/lib/python2.7/site-packages/cv.py", line 1, in <module>
from cv2.cv import *
ImportError: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
>>> import numpy
>>> import scipy
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
странная вещь, если я восстановить oldenv так newenv и oldenv бок о бок в .virtualenvs, тогда все это работает, хотя я работаю в newenv.
Так что для моих новых работ все зависит от того, где все еще существует. Я не понимаю, почему, поскольку я могу подтвердить, что newenv является копией oldenv в отношении файлов и структуры, включая cv.py и т. Д.
Сохранялись весь день, и я не мудрее. Если кто-то может быть так добр, чтобы меня исправить, я был бы очень благодарен.
@vikramis, спасибо, но 'pip freeze --local' производит одинаковые результаты как для oldenv & newenv, а именно для подушки, scipy & numpy. – user3548783
Да, с тех пор, как вы скопировали среду. Я говорю, что копия не изменила rpath в файлах .so в среде. Я просто предлагал заменить «cpvirtualenv». – vikramls
Спасибо vikramls. Используется sublimetext для поиска «oldenv» во всех файлах в каталоге newenv. Это вернуло некоторые старые результаты в newenv/bin, которые я вручную редактировал. Также скопировали все файлы .so в newenv/lib. Я думаю, 'cpvirtualenv' не всегда является всеобъемлющим решением для переименования virtualenvs. – user3548783