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
Как видите, в результате нужный путь был найден и отображен в командной строке:
Пример 2: команда py
Команда py
с опцией --list-paths
также может быть использована для перечисления путей к Python:
Как найти место установки Python в Windows с помощью меню “Пуск”
Чтобы найти, где установлен Python, используя меню “Пуск”, выполните следующую процедуру.
Сначала найдите файл “Python.exe” в меню “Пуск”. Затем выберите опцию “Открыть расположение файла”, чтобы открыть соответствующую папку:
В результате вы будете перемещены в каталог, где установлен Python:
Как найти место установки Python в Windows с помощью переменной окружения
Чтобы узнать, где установлен Python, используя переменную окружения PATH
, выполните следующие действия.
Шаг 1. Откройте расширенные системные настройки
Нажмите Window+I, чтобы открыть Настройки системы. Затем выберите “Система” из списка доступных категорий:
Найдите в строке поиска “Дополнительные параметры системы” и откройте их:
Шаг 2. Откройте переменные среды
В Дополнительных параметрах системы нажмите на кнопку “Переменные среды”:
Шаг 3. Откройте переменную среды Path
На вкладке “Системные переменные” выберите “Path” и нажмите кнопку “Изменить” для просмотра сведений о пути:
Из переменной среды Path
можно найти место, где установлен 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
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
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.
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.