Сайт-пакеты Anaconda

После установки пакета в среде anaconda я хочу внести некоторые изменения в код этого пакета.

Где я могу найти каталог site-packages, содержащий установленные пакеты? Я не нахожу каталог /Users/username/anaconda/lib/python2.7/site-packages


person Nyxynyx    schedule 23.06.2015    source источник
comment
Вам действительно нужна плитка получше, правда Anaconda site-packages? Что насчет этого?   -  person Charlie Parker    schedule 24.09.2020


Ответы (9)


Вы можете импортировать модуль и проверить строку module.__file__. Он содержит путь к связанному исходному файлу.

Кроме того, вы можете прочитать тег File в документации модуля, доступ к которой можно получить с помощью help(module) или module? в IPython.

person Arcturus B    schedule 23.06.2015
comment
Моя проблема в том, что я получаю сообщение об ошибке «импорт пакета не найден» для пакета, который предположительно установлен conda. Поэтому я хотел бы проверить, где conda думает, что установил пакет. - person Ben Farmer; 29.11.2019
comment
@BenFarmer: это звучит как совсем другая проблема. Вы пробовали искать что-то по пути установленных пакетов conda list? Это возвращает stackoverflow.com/q/46767012 и stackoverflow.com/q/47138241. - person Arcturus B; 29.11.2019
comment
спасибо @Arcturus B, просто добавил один пример example: >>import tensorflow >>tensorflow.__file__ - person BrB; 09.04.2020
comment
моя проблема в том, что я вижу его в списке conda, но не могу найти, где он будет находиться... есть идеи? - person Charlie Parker; 24.09.2020

Запустите это внутри оболочки Python:

from distutils.sysconfig import get_python_lib
print(get_python_lib())
person Vlad Costin    schedule 14.05.2017
comment
моя проблема в том, что я вижу его в списке conda, но не могу найти, где он будет находиться... есть идеи? - person Charlie Parker; 24.09.2020

Пользователи Linux могут найти расположение всех установленных пакетов следующим образом:

pip list | xargs -exec pip show
person Steve    schedule 01.12.2015
comment
Вот элегантное использование xargs! - person ivan-k; 28.04.2016
comment
я только что использовал: pip show ‹package-name›. Все заработало, файлы есть. - person numbers3567; 27.07.2020
comment
но он сказал, что использует conda...? - person Charlie Parker; 24.09.2020
comment
моя проблема в том, что я вижу его в списке conda, но не могу найти, где он будет находиться... есть идеи? - person Charlie Parker; 24.09.2020
comment
@CharlieParker похоже, что вы хотите иметь возможность перечислить файлы в данном пакете conda: заголовок stackoverflow.com/questions/47138241/. Убедитесь, что пакет установлен в правильной среде (частью которой является ваш двоичный файл Python) и что он включает файлы в каталогах, которые просматривает Python (перечислите эти пути с помощью python -m site). - person Martijn Pieters; 25.09.2020

Я установил miniconda и нашел все установленные пакеты в /miniconda3/pkgs

person Hezi Zhang    schedule 10.04.2019

Еще один вариант с использованием интерпретатора:

import site; print(''.join(site.getsitepackages()))

И с помощью терминала/подсказки:

python -c "import site; print(''.join(site.getsitepackages()))"

Также в этом случае вы можете легко распечатать один из каталогов (если их больше одного), используя собственный фильтр.

person Nick Veld    schedule 08.05.2021

Вы также можете ввести «conda list» в командной строке. Это распечатает установленные модули с номерами версий. Путь в вашей файловой структуре будет напечатан вверху этого списка.

person jeff_carter    schedule 26.07.2015
comment
список conda, только что дал мне пакеты в среде /Users/user/anaconda: в качестве вывода. Требовалось точное расположение пакетов: /Users/user/anaconda/lib/python2.7/'. - person Codious-JR; 22.04.2016
comment
'conda list' - очень хорошая идея, когда вы хотите знать, из какого репозитория был установлен пакет. Он также показывает установку через pip. Так что это действительно хороший совет, хотя он и не отвечает на вопрос. - person Christian4145; 25.03.2020
comment
Этот ответ действительно работает для меня - не знаю, почему за него проголосовали! conda list в качестве первой строки выдает корень вашей установки conda; внутри это папка pkgs. - person Dan Nissenbaum; 19.04.2020
comment
... на самом деле (см. мой предыдущий комментарий), внутри корня установки miniconda я нахожу несколько пакетов в 'lib/python3.7/site-packages' - person Dan Nissenbaum; 19.04.2020
comment
моя проблема в том, что я вижу его в списке conda, но не могу найти, где он будет находиться... есть идеи? - person Charlie Parker; 24.09.2020

По крайней мере, с Miniconda (я предполагаю, что это то же самое для Anaconda), в папке среды пакеты устанавливаются в папку с именем \conda-meta.

i.e.

C:\Users\имя_пользователя\Miniconda3\envs\имя_среды\conda-meta

Если вы устанавливаете в базовой среде, расположение:

C:\Users\имя пользователя\Miniconda3\pkgs

person James Perez    schedule 03.02.2021

Вы должны найти установленные пакеты в:

anaconda's directory / lib / site_packages

Вот где я нашел свою.

person BHA Bilel    schedule 06.05.2020

Я столкнулся с этой проблемой в своей среде conda. Причина в том, что пакеты были установлены в две разные папки, только одна из которых распознается исполняемым файлом Python.

~/anaconda2/envs/[my_env]/site-packages ~/anaconda2/envs/[my_env]/lib/python2.7/site-packages

Проверенным решением является добавление обеих папок к пути python, используя следующие шаги в командной строке (замените [my_env] своей собственной средой):

  1. conda активирует [my_env].
  2. conda-develop ~/anaconda2/envs/[my_env]/site-packages
  3. conda-develop ~/anaconda2/envs/[my_env]/lib/python2.7/site-packages (conda-develop добавляет в папку файл .pth, чтобы исполняемый файл Python знал о эту папку при поиске пакетов.)

Чтобы убедиться, что это работает, попробуйте активировать Python в этой среде и импортировать пакет, который не был найден.

person Huanfa Chen    schedule 05.01.2021