Как найти местоположение библиотеки

import some_module
import sys
import os
for path in sys.path:
   if os.path.exists(os.path.join(path, 'some_module')):
      print('some_module is here: {}'.format(path))

«Трюк» здесь заключается в том, что где бы интерпретатор не встретил строку

from somewhere import something

он ищет somewhere в sys.path. И если не находит — выбрасывается исключение ImportError. При этом при запуске интерпретатора, текущий путь (или при запуске скрипта python path/to/script.py путь path/to) добавляется в sys.path.

2-й вариант (попроще):

import some_module
print(some_module.__file__)

>>> import openpyxl
>>> print (openpyxl.__file__)
D:Pythonlibsite-packagesopenpyxl-2.3.0_b1-py2.7.eggopenpyxl__init__.pyc
>>>

Но 2-й вариант можно «обмануть», явно определив в модуле переменную __file__

Как вообще узнать что у меня стоит и где именно оно стоит?

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

К примеру, в Debian-based дистрибутивах список установленных пакетов можно получить так:

dpkg -l

А список файлов пакета так:

dpkg -L <package_name>

Для Gentoo так:

eix -I
equery f <package_name>

kostik87 ★★★★★

(13.01.12 19:49:55 MSK)

  • Ссылка

Иногда нам нужно проверить пакеты или модули по пути, где установлен Python. В этой статье мы покажем три способа, как найти путь, по которому установлен Python в Windows:

  • с помощью командной строки
  • через меню “Пуск
  • используя параметры переменной среды

Итак, давайте начнем!

Примечание редакции: о собственно установке Python читайте в статье “Как установить Python на Windows 10 или 11”.

Чтобы узнать, где установлен Python, используя командную строку Windows, следуйте приведенным ниже примерам.

Пример 1: команда where

Для начала попробуйте использовать команду where, чтобы вывести путь к директории установленного Python:

>where python

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

Использование where  в командной строке. На следующей строке после введенной команды выведен путь, по которому  в Windows установлен Python

Пример 2: команда py

Команда py с опцией --list-paths также может быть использована для перечисления путей к Python:

Использование команды py --list-paths в командной строке

Как найти место установки Python в Windows с помощью меню “Пуск”

Чтобы найти, где установлен Python, используя меню “Пуск”, выполните следующую процедуру.

Сначала найдите файл “Python.exe” в меню “Пуск”. Затем выберите опцию “Открыть расположение файла”, чтобы открыть соответствующую папку:

Опция "Open file location" в меню "Пуск".

В результате вы будете перемещены в каталог, где установлен Python:

Каталог, где установлен Python

Как найти место установки Python в Windows с помощью переменной окружения

Чтобы узнать, где установлен Python, используя переменную окружения PATH, выполните следующие действия.

Шаг 1. Откройте расширенные системные настройки

Нажмите Window+I, чтобы открыть Настройки системы. Затем выберите “Система” из списка доступных категорий:

Окно настроек

Найдите в строке поиска “Дополнительные параметры системы” и откройте их:

Дополнительные параметры системы

Шаг 2. Откройте переменные среды

В Дополнительных параметрах системы нажмите на кнопку “Переменные среды”:

Переменные среды

Шаг 3. Откройте переменную среды Path

На вкладке “Системные переменные” выберите “Path” и нажмите кнопку “Изменить” для просмотра сведений о пути:

Вкладка "Системные переменные"

Из переменной среды Path можно найти место, где установлен Python, как показано ниже:

Окно редактирования переменной окружения с выделенным путем к Python

Заключение

Узнать, где в Windows установлен Python, можно разными способами, например, с помощью командной строки, меню “Пуск” и системных переменных среды.

Для первого способа откройте командную строку и воспользуйтесь командой where python. Во втором случае найдите “python.exe” в меню “Пуск” и откройте местоположение файла. При третьем подходе вы можете узнать расположение Python через переменную среды “Path”.

Перевод статьи Rafia Zafar «How Can I Find Where Python is Installed on Windows».

1 Answer

Sorted by:

Reset to default

12

>>> import abc
>>> abc.__file__
'C:\Program Files\Python31\lib\abc.py'

See docs.

for more thorough inspection you could use inspect module:

>>> import inspect
>>> from abc import *
>>> inspect.getfile(ABCMeta)
'C:\Program Files\Python31\lib\abc.py'

Improve this answer

edited Sep 14, 2010 at 14:20

answered Sep 14, 2010 at 13:42

SilentGhost's user avatar

SilentGhostSilentGhost

305k66 gold badges305 silver badges292 bronze badges

0

Add a comment
 | 

Your Answer

Sign up or log in

Sign up using Google

Sign up using Facebook

Sign up using Email and Password

Post as a guest

Name

Email

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you’re looking for? Browse other questions tagged

  • python
  • path

or ask your own question.

Background: I’m trying to build my program but first I need to set up libraries in NetBeans. My project is using GLU and therefore I installed libglu-dev. I didn’t note the location where the libraries were located and now I can’t find them.

I’ve switched to Linux just a few days ago and so far I’m very content with it, however I couldn’t google this one out and became frustrated. Is there way to find out where files of package were installed without running the installation again? I mean if I got library xxx and installed it some time ago, is there some-command xxx that will print this info?

I’ve already tried locate, find and whereis commands, but either I’m missing something or I just can’t do it correctly. For libglu, locate returns:

/usr/share/bug/libglu1-mesa
/usr/share/bug/libglu1-mesa/control
/usr/share/bug/libglu1-mesa/script
/usr/share/doc/libglu1-mesa
/usr/share/doc/libglu1-mesa/changelog.Debian.gz
/usr/share/doc/libglu1-mesa/copyright
/usr/share/lintian/overrides/libglu1-mesa
/var/lib/dpkg/info/libglu1-mesa:i386.list
/var/lib/dpkg/info/libglu1-mesa:i386.md5sums
/var/lib/dpkg/info/libglu1-mesa:i386.postinst
/var/lib/dpkg/info/libglu1-mesa:i386.postrm
/var/lib/dpkg/info/libglu1-mesa:i386.shlibs

The other two commands fail to find anything. Now locate did its job, but I’m sure none of those paths is where the library actually resides (at least everything I was linking so far was in /usr/lib or /usr/local/lib).

libglu was introduced just as example. I’m looking for a general solution for this problem.

Понравилась статья? Поделить с друзьями:
  • Как найти с человеком пауком
  • 504 gateway time out перевод как исправить
  • Как найти дневную амплитуду температур
  • Как найти потерянную вещь документ
  • Как составить таблицу в ворде пошагово для начинающих видео уроки