Como importar os módulos do Anaconda no python do sistema?

3

Eu instalei opencv para o Anaconda com este comando:

conda install opencv

E quando eu executo python3.6 no terminal, posso importar cv2 module com qualquer problema.

Então opencv foi instalado para o caminho do Anaconda com sucesso.

Python 3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:09:58) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2

Mas quando importo cv2 em python3.5 :

Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'cv2'

Portanto, não posso usar opencv no python do sistema.

E aqui está a pergunta; como importar os módulos do Anaconda (especialmente cv2 ) no python do sistema?

Como criar link simbólico dos módulos do Anaconda para o caminho do sistema em Python?

    
por Ali Razmdideh 09.06.2017 / 16:33

2 respostas

1

Isso não vai funcionar e não está relacionado aos caminhos de pesquisa do módulo.

Vamos supor que você tenha conseguido definir o caminho de pesquisa do módulo correto ou vincular o caminho do módulo cv2 a um local no caminho de pesquisa do módulo atual do sistema Python. Agora o Python 3.5.3 tentaria carregar um módulo nativo compilado para o Python 3.6.1. Infelizmente diferentes versões do Python têm diferentes ABIs (Application Binary Interface), o que significa que os módulos nativos compilados para uma versão do Python tendem a não funcionar em diferentes versões do Python. Isso se torna mais provável quanto maior a diferença entre as versões do Python. Uma alteração no número após o ponto em uma string de versão já é considerada uma alteração "maior".

Você precisa compilar e instalar esse módulo novamente para a versão e instalação desejadas do Python. Veja Como instalar o OpenCV 3.1 para o Python 3.5 no Ubuntu 16.04 LTS?

    
por David Foerster 29.06.2017 / 21:38
0

Adicione os pacotes de sites do Anaconda ao PYTHONPATH:

PYTHONPATH=~/anaconda2/lib/python2.7/site-packages/ /usr/local/bin/python

(Você terá que se adaptar à sua instalação do Anaconda e à versão do Python).

Edit: Eu testei com numpy que eu não tenho fora do Anaconda. Não é garantido que todas as bibliotecas funcionem, pois podem ser específicas da versão.

    
por Hugues Fontenelle 29.06.2017 / 21:41