Не удается импортировать NumPy из пакетов сайта другой среды conda

#numpy #conda

#numpy #conda

Вопрос:

У меня есть 2 среды conda (на macOS Big Sur) old_base и new_base обе с установленным NumPy (1.19.4). Я заметил что-то странное. Когда мой env является old_base site-packages каталогом cwd new_base , я не могу импортировать NumPy.

 $ (old_base) cd /Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.8/site-packages
$ (old_base) which python
/Users/joshfriedlander/anaconda3/envs/old_base/bin/python
$ python
Python 3.8.6 | packaged by conda-forge | (default, Oct  7 2020, 18:42:56)
[Clang 10.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "/Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.7/site-packages/numpy/core/__init__.py", line 22, in <module>
    from . import multiarray
  File "/Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.7/site-packages/numpy/core/multiarray.py", line 12, in <module>
    from . import overrides
  File "/Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.7/site-packages/numpy/core/overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.7/site-packages/numpy/__init__.py", line 140, in <module>
    from . import core
  File "/Users/joshfriedlander/anaconda3/envs/new_base/lib/python3.7/site-packages/numpy/core/__init__.py", line 48, in <module>
    raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.8 from "/Users/joshfriedlander/anaconda3/envs/interns/bin/python"
  * The NumPy version is: "1.19.1"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: No module named 'numpy.core._multiarray_umath'
 

Ничто на связанной странице справки не кажется релевантным. Из любого другого места, которое я тестировал, в том числе ~/anaconda3/envs/old_base/lib/python3.8/site-packages , импорт NumPy работает без сбоев.

Что здесь происходит?

(Очевидно, это не проблема для меня, мне просто интересно, почему это происходит.)

Комментарии:

1. Вероятно, это связано с тем, что numpy/ каталог в cwd скрывает каталог от вашего пути.

2. Ах, это, вероятно, правильное направление. Спасибо!

3. Не могли бы вы уточнить? Имеет ли new_base (т.Е. bar ) Две разные lib папки, потому что вы делаете cd .../bar/lib/python3.8/site-packages , но позже это так .../new_base/lib/python3.7/site-packages . Возможно, используйте ваши фактические имена env вместо того, чтобы пытаться заменить их foo / bar, чтобы избежать путаницы

4. @FlyingTeller готово. Кажется довольно очевидным, что догадка Нильса Вернера была правильной.