web-dev-qa-db-fra.com

PyDev / Eclipse ne charge pas _mklinit lorsqu'il est exécuté à partir d'un environnement Conda

J'ai créé un environnement conda - testenv2 - installé python/numpy/pandas. L'ajouté comme interpréteur dans les paramètres du projet Eclipse et l'utiliser pour exécuter mon test python. Et j'obtiens l'erreur ci-dessous. Le même script de test fonctionne correctement à partir de la ligne de commande lorsque j'active la conda environnement et exécuter à partir de dedans. Il fonctionne également à partir de PyCharm. Mais échoue en quelque sorte à lancer dans Eclipse.

Traceback (most recent call last):
  File "C:\Data\projects\Eclipse-workspace\PythonEclipse\Test.py", line 1, in <module>
    import numpy as np
  File "C:\Data\devtools\Anaconda3\envs\testenv2\lib\site-packages\numpy\__init__.py", line 140, in <module>
    from . import _distributor_init
  File "C:\Data\devtools\Anaconda3\envs\testenv2\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
    from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.

Si je lance juste le même script de test en utilisant mon racine Conda Python interprète, cela fonctionne très bien. Ce n'est donc que lorsque j'essaie d'utiliser l'environnement que j'ai créé à partir de conda.

Merci pour l'aide!

4
endless

Ici vous pouvez trouver la section de la page de dépannage pour conda liée à votre problème et je pense que l'environnement inactif est le problème ici.

Avec la dernière version de conda, les développeurs ont décidé qu'au lieu de polluer vos variables d'environnement avec leurs chemins, vous devez vous assurer que votre environnement est activé lors de l'exécution de toute action, sinon des choses comme les DLL requises ne seront pas trouvées.

Les IDE actuels ne se sont pas encore nécessairement adaptés à ce changement, je ne peux pas moi-même utiliser les consoles intégrées Python dans PyCharm car il essaie de l'exécuter sans activer l'environnement au préalable. Apparemment, le problème devrait être résolu dans la prochaine version.

Quoi qu'il en soit, si vous ne pouvez pas faire de votre IDE activer les environnements conda avant d'exécuter des commandes, vous n'aurez qu'à supporter l'utilisation de terminaux ordinaires, où vous pouvez vous assurer que l'environnement est actif.

0
la danlupei