Пункт Miniconda находит требования в неправильной среде - PullRequest
0 голосов
/ 30 ноября 2018

Я пользуюсь conda некоторое время без особых проблем.Однако я просто попытался сделать следующее:

# start: fresh login
~$ conda activate nben
(nben) ~$ which pip
~/Library/miniconda2/envs/nben/bin/pip
(nben) ~$ echo $PYTHONPATH #shows my (uninstalled) dev libraries only
/Users/nben/Code/pimms:/Users/nben/Code/neuropythy
(nben) ~$ pip install pybids
Requirement already satisfied: pybids in /Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages (0.6.5)
Requirement already satisfied: six in /Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages (from pybids) (1.11.0)
Requirement already satisfied: grabbit>=0.2.3 in /Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages (from pybids) (0.2.4)
Requirement already satisfied: scipy in /Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages (from pybids) (1.1.0)
... # several more of these
(nben) ~$ python
Python 3.6.6 |Anaconda custom (64-bit)| (default, Jun 28 2018, 11:07:29) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pybids
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pybids'
>>>

Пип, установленный в моей среде nben, находит требования в моей среде winawerlab, даже когда я напрямую называю его по абсолютному пути и очищаю свой PYTHONPATH.Этого раньше не было, и я использую эту среду уже несколько недель.Я не могу придумать ничего из того, что сделал, что изменило бы какие-либо настройки среды.

Я подумал, что, может быть, что-то в каталоге env начало указывать на неправильное место, поэтому я запустил следующее:который ничего не нашел:

~$ cd ~/Library/miniconda2/envs/nben
~/Library/miniconda2/envs/nben$ grep winawerlab `find ./etc -type f -print`

Кроме того, я только что заметил это поведение:

(nben) ~$ /Users/nben/Library/miniconda2/envs/nben/bin/pip --version
pip 10.0.1 from /Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages/pip 
(python 3.6)

Кто-нибудь знает, что может происходить?Заранее спасибо.

РЕДАКТИРОВАТЬ

Еще несколько фрагментов информации, которые добавляют путаницу:

(nben) ~$ python
Python 3.6.6 |Anaconda custom (64-bit)| (default, Jun 28 2018, 11:07:29) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.executable
'/Users/nben/Library/miniconda2/envs/nben/bin/python'
>>> sys.prefix
'/Users/nben/Library/miniconda2/envs/nben'
>>> sys.exec_prefix
'/Users/nben/Library/miniconda2/envs/nben'
>>> [p for p in sys.path if 'winawerlab' in p]
['/Users/nben/Library/miniconda2/envs/winawerlab/lib/python3.6/site-packages']

Каким-то образом winawerlab env'sКаталог site-packages превращает его в sys.path моего экземпляра Python.Прочитав ответ на этот вопрос , я вынужден сделать вывод, что единственное место, где он может появиться, - это макрос времени компиляции.Что происходит?

...