program story

로컬에 설치된 Python 모듈 목록을 어떻게 얻을 수 있습니까?

inputbox 2020. 9. 28. 09:05
반응형

로컬에 설치된 Python 모듈 목록을 어떻게 얻을 수 있습니까?


Python 설치 (UNIX 서버)에있는 Python 모듈 목록을 가져오고 싶습니다.

컴퓨터에 설치된 Python 모듈 목록을 어떻게 얻을 수 있습니까?


해결책

pip> 10.0과 함께 사용하지 마십시오!

pip freezePython 스크립트에서 유사 목록 을 얻는 데 50 센트 :

import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
     for i in installed_packages])
print(installed_packages_list)

(너무 긴) 하나의 라이너로 :

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

기부:

['behave==1.2.4', 'enum34==1.0', 'flask==0.10.1', 'itsdangerous==0.24', 
 'jinja2==2.7.2', 'jsonschema==2.3.0', 'markupsafe==0.23', 'nose==1.3.3', 
 'parse-type==0.3.4', 'parse==1.6.4', 'prettytable==0.7.2', 'requests==2.3.0',
 'six==1.6.1', 'vioozer-metadata==0.1', 'vioozer-users-server==0.1', 
 'werkzeug==0.9.4']

범위

이 솔루션은 시스템 범위 또는 가상 환경 범위에 적용되며 setuptools, pip및 ( god forbid )에 의해 설치된 패키지를 다룹니다 easy_install.

내 사용 사례

이 호출의 결과를 플라스크 서버에 추가 했으므로이를 호출 http://example.com/exampleServer/environment하면 서버의 virtualenv에 설치된 패키지 목록이 표시됩니다. 디버깅이 훨씬 쉬워집니다.

주의 사항

이 기술의 이상한 동작을 발견했습니다. Python 인터프리터가 setup.py파일 과 동일한 디렉토리에서 호출 될 때 .NET에서 설치된 패키지를 나열하지 않습니다 setup.py.

재현 단계 :

가상 환경 만들기
$ cd /tmp
$ virtualenv test_env
New python executable in test_env/bin/python
Installing setuptools, pip...done.
$ source test_env/bin/activate
(test_env) $ 
git repo 복제 setup.py
(test_env) $ git clone https://github.com/behave/behave.git
Cloning into 'behave'...
remote: Reusing existing pack: 4350, done.
remote: Total 4350 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4350/4350), 1.85 MiB | 418.00 KiB/s, done.
Resolving deltas: 100% (2388/2388), done.
Checking connectivity... done.

우리는 다음과 같이 행동 setup.py했습니다 /tmp/behave.

(test_env) $ ls /tmp/behave/setup.py
/tmp/behave/setup.py
git repo에서 python 패키지 설치
(test_env) $ cd /tmp/behave && pip install . 
running install
...
Installed /private/tmp/test_env/lib/python2.7/site-packages/enum34-1.0-py2.7.egg
Finished processing dependencies for behave==1.2.5a1

앞서 언급 한 솔루션을 실행하면 /tmp

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['behave==1.2.5a1', 'enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp'

앞서 언급 한 솔루션을 실행하면 /tmp/behave

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp/behave'

behave==1.2.5a1작업 디렉토리에 behavesetup.py파일이 포함되어 있기 때문에 두 번째 예제에서 누락되었습니다 .

설명서에서이 문제에 대한 참조를 찾을 수 없습니다. 아마도 버그를 열어 보겠습니다.


help('modules')

Python 셸 / 프롬프트에서.


이제이 방법을 직접 시도해 보았고 광고 된 모든 모듈을 정확히 얻었습니다.

아아, 정말 당신은 stdlib에 대해별로 신경 쓰지 않고 파이썬 설치로 얻는 것을 알고 있습니다.

정말 내가 설치 한 물건을 원합니다 .

놀랍게도 실제로 잘 작동 한 것은 다음과 같습니다.

pip freeze

반환 :

Fabric==0.9.3
apache-libcloud==0.4.0
bzr==2.3b4
distribute==0.6.14
docutils==0.7
greenlet==0.3.1
ipython==0.10.1
iterpipes==0.4
libxml2-python==2.6.21

패키지 설치 도구가이 기능을 찾을 수있을 것으로 예상되는 정확한 위치이기 때문에 "놀랍게도"라고 말합니다. '고정'이라는 이름은 아니지만 파이썬 패키징이 너무 이상해서이 도구가 타당하다는 사실에 놀랐습니다. 핍 0.8.2, Python 2.7.


  • 에서 ipython" importTab"를 입력 할 수 있습니다 .

  • 표준 Python 인터프리터에서 " help('modules')"를 입력 할 수 있습니다 .

  • 명령 줄에서 .pydoc modules

  • 스크립트에서 pkgutil.iter_modules().


pip 버전 1.3부터 ​​다음에 액세스 할 수 있습니다.

pip list

"pip freeze"에 대한 구문 설탕 인 것 같습니다. 버전 번호와 함께 설치 또는 virtualenv와 관련된 모든 모듈이 나열됩니다. 불행히도 모듈의 현재 버전 번호를 표시하지 않으며 설거지하거나 신발을 닦지 않습니다.


현재 사용되는 모듈을보기 위해 이것을 사용합니다.

import sys as s
s.modules.keys()

파이썬에서 실행되는 모든 모듈을 보여줍니다.

모든 내장 모듈에 대해 다음을 사용하십시오.

s.modules

모든 모듈과 가져 오기 개체를 포함하는 dict입니다.


일반 셸에서는

pydoc modules

핍 10부터 허용되는 답변은 더 이상 작동하지 않습니다. 개발 팀이 get_installed_distributions루틴에 대한 액세스 권한을 제거했습니다 . 에는 setuptools동일한 작업을 수행 하는 대체 기능이 있습니다 . 다음은 pip 10에서 작동하는 대체 버전입니다.

import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
     for i in installed_packages])
print(installed_packages_list)

이전 버전의 pip에서도 작동하는지 여부를 알려주십시오.


Python 셸에 설치된 패키지를 나열해야하는 경우 help다음과 같은 명령을 사용할 수 있습니다.

>>help('modules package')

나는 일반적으로 pip list패키지 목록 (버전 포함)을 얻는 데 사용 합니다.

물론 이것은 가상 환경에서도 작동합니다. 가상 환경 (글로벌 패키지 아님)에만 설치된 항목을 표시하려면 pip list --local.

다음pip list 은 몇 가지 좋은 예와 함께 사용 가능한 모든 옵션을 보여주는 문서 입니다.


pkgutil.iter_modules를 사용한 매우 간단한 검색

from pkgutil import iter_modules
a=iter_modules()
while True:
    try: x=a.next()
    except: break
    if 'searchstr' in x[1]: print x[1]

OS X에서 커스텀 설치된 python 2.7을 만났습니다. 설치된 모듈을 나열하려면 X11이 필요했습니다 (도움말 및 pydoc 사용).

X11을 설치하지 않고 모든 모듈을 나열 할 수 있도록 pydoc을 http-server로 실행했습니다.

pydoc -p 12345

그런 다음 http://localhost:12345/모든 모듈을 보도록 Safari에 지시 할 수 있습니다.


Windows에서는 cmd에 입력하십시오.

c:\python\libs>python -m pip freeze

이것은 Adam Matan의 답변 (허용되는 답변) 에서 영감을 얻었습니다 .

import tabulate
try:
  from pip import get_installed_distributions
except:
  from pip._internal.utils.misc import get_installed_distributions

tabpackages = []
for _, package in sorted([('%s %s' % (i.location, i.key), i) for i in get_installed_distributions()]):
  tabpackages.append([package.location, package.key, package.version])

print(tabulate.tabulate(tabpackages))

그런 다음 다음 형식으로 표를 인쇄합니다.

19:33 pi@rpi-v3 [iot-wifi-2] ~/python$ python installed_packages.py
-------------------------------------------  --------------  ------
/home/pi/.local/lib/python2.7/site-packages  enum-compat     0.0.2
/home/pi/.local/lib/python2.7/site-packages  enum34          1.1.6
/home/pi/.local/lib/python2.7/site-packages  pexpect         4.2.1
/home/pi/.local/lib/python2.7/site-packages  ptyprocess      0.5.2
/home/pi/.local/lib/python2.7/site-packages  pygatt          3.2.0
/home/pi/.local/lib/python2.7/site-packages  pyserial        3.4
/usr/local/lib/python2.7/dist-packages       bluepy          1.1.1
/usr/local/lib/python2.7/dist-packages       click           6.7
/usr/local/lib/python2.7/dist-packages       click-datetime  0.2
/usr/local/lib/python2.7/dist-packages       construct       2.8.21
/usr/local/lib/python2.7/dist-packages       pyaudio         0.2.11
/usr/local/lib/python2.7/dist-packages       tabulate        0.8.2
-------------------------------------------  --------------  ------

이렇게하면 .NET Framework를 사용하거나 사용하지 않고 설치 한 패키지를 쉽게 식별 할 수 있습니다 sudo.


참고 사항 : 한 번은 패킷을 설치 sudo하지 않고 한 번 설치할 때 다른 패킷 이 나열되지 않도록 한 패킷 이 우선 적용됩니다 (한 위치 만 표시됨). 나는 로컬 디렉토리에 하나만 나열되어 있다고 생각합니다. 이것은 개선 될 수 있습니다.


사용하는 것 외에도 가상 환경에 노른자pip freeze설치 했습니다.


  1. 사용 가능한 모든 모듈을 얻으려면 sys.modules
  2. 설치된 모든 모듈 을 얻으려면 (읽기 : installed by pip), 다음을 볼 수 있습니다.pip.get_installed_distributions()

두 번째 목적을 위해 예제 코드 :

import pip
for package in pip.get_installed_distributions():
    name = package.project_name # SQLAlchemy, Django, Flask-OAuthlib
    key = package.key # sqlalchemy, django, flask-oauthlib
    module_name = package._get_metadata("top_level.txt") # sqlalchemy, django, flask_oauthlib
    location = package.location # virtualenv lib directory etc.
    version = package.version # version number

이 용액에 기초한 기본 모듈이다 importlibpkgutilCPython의 3.4 및 3.5의 CPython 작업하지만 CPython과 2에 대한 지원이 없다.


설명

  1. sys.builtin_module_names-모든 내장 모듈의 이름을 지정합니다 ( 여기에서 내 대답을 보십시오 ).
  2. pkgutil.iter_modules() -사용 가능한 모든 모듈에 대한 정보를 반환합니다.
  3. importlib.util.find_spec() -모듈이있는 경우 가져 오기에 대한 정보를 반환합니다.
  4. BuiltinImporter-내장 모듈에 대한 임포터 ( docs )
  5. SourceFileLoader-표준 Python 모듈의 임포터 (기본적으로 * .py 확장자가 있음) ( docs )
  6. ExtensionFileLoader- 공유 라이브러리 로서의 모듈 임포터 (C 또는 C ++로 작성)

전체 코드

import sys
import os
import shutil
import pkgutil
import importlib
import collections

if sys.version_info.major == 2:
    raise NotImplementedError('CPython 2 is not supported yet')


def main():

    # name this file (module)
    this_module_name = os.path.basename(__file__).rsplit('.')[0]

    # dict for loaders with their modules
    loaders = collections.OrderedDict()

    # names`s of build-in modules
    for module_name in sys.builtin_module_names:

        # find an information about a module by name
        module = importlib.util.find_spec(module_name)

        # add a key about a loader in the dict, if not exists yet
        if module.loader not in loaders:
            loaders[module.loader] = []

        # add a name and a location about imported module in the dict
        loaders[module.loader].append((module.name, module.origin))

    # all available non-build-in modules
    for module_name in pkgutil.iter_modules():

        # ignore this module
        if this_module_name == module_name[1]:
            continue

        # find an information about a module by name
        module = importlib.util.find_spec(module_name[1])

        # add a key about a loader in the dict, if not exists yet
        loader = type(module.loader)
        if loader not in loaders:
            loaders[loader] = []

        # add a name and a location about imported module in the dict
        loaders[loader].append((module.name, module.origin))

    # pretty print
    line = '-' * shutil.get_terminal_size().columns
    for loader, modules in loaders.items():
        print('{0}\n{1}: {2}\n{0}'.format(line, len(modules), loader))
        for module in modules:
            print('{0:30} | {1}'.format(module[0], module[1]))


if __name__ == '__main__':
    main()

용법

CPython3.5의 경우 (잘림)

$ python3.5 python_modules_info.py 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
30: <class '_frozen_importlib.BuiltinImporter'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_ast                           | built-in
_codecs                        | built-in
_collections                   | built-in
_functools                     | built-in
_imp                           | None
_io                            | built-in
_locale                        | built-in
_operator                      | built-in
_signal                        | built-in
_sre                           | built-in
_stat                          | built-in
_string                        | built-in
_symtable                      | built-in
_thread                        | built-in
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
227: <class '_frozen_importlib_external.SourceFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__future__                     | /usr/local/lib/python3.5/__future__.py
_bootlocale                    | /usr/local/lib/python3.5/_bootlocale.py
_collections_abc               | /usr/local/lib/python3.5/_collections_abc.py
_compat_pickle                 | /usr/local/lib/python3.5/_compat_pickle.py
_compression                   | /usr/local/lib/python3.5/_compression.py
_dummy_thread                  | /usr/local/lib/python3.5/_dummy_thread.py
_markupbase                    | /usr/local/lib/python3.5/_markupbase.py
_osx_support                   | /usr/local/lib/python3.5/_osx_support.py
_pydecimal                     | /usr/local/lib/python3.5/_pydecimal.py
_pyio                          | /usr/local/lib/python3.5/_pyio.py
_sitebuiltins                  | /usr/local/lib/python3.5/_sitebuiltins.py
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
64: <class '_frozen_importlib_external.ExtensionFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_bisect                        | /usr/local/lib/python3.5/lib-dynload/_bisect.cpython-35m-x86_64-linux-gnu.so
_bz2                           | /usr/local/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
_codecs_cn                     | /usr/local/lib/python3.5/lib-dynload/_codecs_cn.cpython-35m-x86_64-linux-gnu.so
_codecs_hk                     | /usr/local/lib/python3.5/lib-dynload/_codecs_hk.cpython-35m-x86_64-linux-gnu.so
_codecs_iso2022                | /usr/local/lib/python3.5/lib-dynload/_codecs_iso2022.cpython-35m-x86_64-linux-gnu.so
(****************************truncated*******************************)

CPython3.4의 경우 (잘림)

$ python3.4 python_modules_info.py
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
54: <class '_frozen_importlib.BuiltinImporter'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_ast                           | built-in
_bisect                        | built-in
_codecs                        | built-in
_collections                   | built-in
_datetime                      | built-in
_elementtree                   | built-in
_functools                     | built-in
_heapq                         | built-in
_imp                           | None
_io                            | built-in
_locale                        | built-in
_md5                           | built-in
_operator                      | built-in
_pickle                        | built-in
_posixsubprocess               | built-in
_random                        | built-in
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
246: <class '_frozen_importlib.SourceFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__future__                     | /usr/lib/python3.4/__future__.py
_bootlocale                    | /usr/lib/python3.4/_bootlocale.py
_collections_abc               | /usr/lib/python3.4/_collections_abc.py
_compat_pickle                 | /usr/lib/python3.4/_compat_pickle.py
_dummy_thread                  | /usr/lib/python3.4/_dummy_thread.py
_markupbase                    | /usr/lib/python3.4/_markupbase.py
_osx_support                   | /usr/lib/python3.4/_osx_support.py
_pyio                          | /usr/lib/python3.4/_pyio.py
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
44: <class '_frozen_importlib.ExtensionFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_bz2                           | /usr/lib/python3.4/lib-dynload/_bz2.cpython-34m-x86_64-linux-gnu.so
_codecs_cn                     | /usr/lib/python3.4/lib-dynload/_codecs_cn.cpython-34m-x86_64-linux-gnu.so
_codecs_hk                     | /usr/lib/python3.4/lib-dynload/_codecs_hk.cpython-34m-x86_64-linux-gnu.so
_codecs_iso2022                | /usr/lib/python3.4/lib-dynload/_codecs_iso2022.cpython-34m-x86_64-linux-gnu.so
_codecs_jp                     | /usr/lib/python3.4/lib-dynload/_codecs_jp.cpython-34m-x86_64-linux-gnu.so
_codecs_kr                     | /usr/lib/python3.4/lib-dynload/_codecs_kr.cpython-34m-x86_64-linux-gnu.so
_codecs_tw                     | /usr/lib/python3.4/lib-dynload/_codecs_tw.cpython-34m-x86_64-linux-gnu.so
_crypt                         | /usr/lib/python3.4/lib-dynload/_crypt.cpython-34m-x86_64-linux-gnu.so
(****************************truncated*******************************)

경우에 당신은이 아나콘다 파이썬 분포가 설치, 당신은 또한 사용할 수 있습니다

$conda list

위에서 설명한 솔루션 외에도.


pip freeze 는 모든 패키지 찾기를 수행하지만 다음 명령을 작성하여 파이썬 패키지가있는 모든 경로를 나열 할 수 있습니다.

>>> import site; site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

이것을 시도하십시오

pip list

또는

pip freeze

많은 아이디어가 있습니다. 처음에는이 두 가지를 숙고하고 있습니다.

단점 : 항상 설치되는 것은 아닙니다.

help ( '모듈')

단점 : 콘솔로 출력; 깨진 모듈로 (우분투 참조 ...) segfault 수 있습니다.

기본 라이브러리를 사용하고 이전 Python 2.x와 호환되는 쉬운 접근 방식이 필요합니다.

그리고 나는 빛을 본다 : listmodules.py

2.5의 문서 소스 디렉토리에 숨겨진 것은 Python 설치에 사용 가능한 모든 모듈을 나열하는 작은 스크립트입니다.

장점 :

imp, sys, os, re, time 만 사용합니다.

Python 1.5.2 이상에서 실행되도록 설계

소스 코드가 매우 간결하므로 버그가있는 모듈의 예외 목록을 전달하는 등 쉽게 수정할 수 있습니다 (가져 오기를 시도하지 마십시오).


고양이 피부를 만드는 방법에는 여러 가지가 있습니다.

  • 가장 간단한 방법은 pydoc다음과 같이 쉘에서 직접 함수 를 사용하는 것입니다.
    pydoc modules

  • 그러나 자세한 내용 은 설치 날짜를 알려주 pip-date 라는 도구를 사용하십시오 .
    pip install pip-date


여기에 이미지 설명 입력


AWS Lambda에서 기본적으로 사용할 수있는 특정 버전의 패키지를 찾아야했습니다. 이 페이지에서 아이디어를 매시업하여 그렇게했습니다. 후손을 위해 공유하고 있습니다.

import pkgutil

__version__ = '0.1.1'

def get_ver(name):
    try:
        return str(__import__(name).__version__)
    except:
        return None

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': [{
                   'path': m.module_finder.path,
                   'name': m.name,
                   'version': get_ver(m.name),
                 } for m in list(pkgutil.iter_modules())
                 #if m.module_finder.path == "/var/runtime" # Uncomment this if you only care about a certain path
                ],
    }

내가 발견 한 것은 제공된 boto3 라이브러리가 오래되었고 내 코드가 실패한 것은 내 잘못이 아니라는 것입니다. 프로젝트에 boto3와 botocore를 추가하기 만하면되었습니다. 그러나 이것이 없었다면 나는 내 코드가 나쁘다고 생각했을 것입니다.

{
  "statusCode": 200,
  "body": [
    {
      "path": "/var/task",
      "name": "lambda_function",
      "version": "0.1.1"
    },
    {
      "path": "/var/runtime",
      "name": "bootstrap",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "boto3",
      "version": "1.9.42"
    },
    {
      "path": "/var/runtime",
      "name": "botocore",
      "version": "1.12.42"
    },
    {
      "path": "/var/runtime",
      "name": "dateutil",
      "version": "2.7.5"
    },
    {
      "path": "/var/runtime",
      "name": "docutils",
      "version": "0.14"
    },
    {
      "path": "/var/runtime",
      "name": "jmespath",
      "version": "0.9.3"
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_client",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_exception",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_marshaller",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "s3transfer",
      "version": "0.1.13"
    },
    {
      "path": "/var/runtime",
      "name": "six",
      "version": "1.11.0"
    },
    {
      "path": "/var/runtime",
      "name": "test_bootstrap",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "test_lambda_runtime_client",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "test_lambda_runtime_marshaller",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "urllib3",
      "version": "1.24.1"
    },
    {
      "path": "/var/lang/lib/python3.7",
      "name": "__future__",
      "version": null
    },
...

제가 발견 한 내용은 공식적으로 발표내용과 도 달랐습니다 . 이 글을 쓰는 시점 :

  • 운영 체제 – Amazon Linux
  • AMI – amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
  • Linux 커널 – 4.14.77-70.59.amzn1.x86_64
  • JavaScript 용 AWS SDK – 2.290.0 \
  • Python 용 SDK (Boto 3) – 3-1.7.74 botocore-1.10.74

pip listPython 프로그램에서 호출하는 방법을 궁금해하는 사람 은 다음을 사용할 수 있습니다.

import pip
pip.main(['list])  # this will print all the packages

이것은 도움이 될 것입니다

터미널 또는 IPython에서 다음을 입력합니다.

help('modules')

그때

In [1]: import                      #import press-TAB
Display all 631 possibilities? (y or n)
ANSI                   audiodev               markupbase
AptUrl                 audioop                markupsafe
ArgImagePlugin         avahi                  marshal
BaseHTTPServer         axi                    math
Bastion                base64                 md5
BdfFontFile            bdb                    mhlib
BmpImagePlugin         binascii               mimetools
BufrStubImagePlugin    binhex                 mimetypes
CDDB                   bisect                 mimify
CDROM                  bonobo                 mmap
CGIHTTPServer          brlapi                 mmkeys
Canvas                 bsddb                  modulefinder
CommandNotFound        butterfly              multifile
ConfigParser           bz2                    multiprocessing
ContainerIO            cPickle                musicbrainz2
Cookie                 cProfile               mutagen
Crypto                 cStringIO              mutex
CurImagePlugin         cairo                  mx
DLFCN                  calendar               netrc
DcxImagePlugin         cdrom                  new
Dialog                 cgi                    nis
DiscID                 cgitb                  nntplib
DistUpgrade            checkbox               ntpath

껍질에서

ls site-packages

도움이되지 않으면 이렇게 할 수 있습니다.

import sys
import os
for p in sys.path:
    print os.listdir( p )

그리고 그것이 무엇을 생산하는지보십시오.

참고 URL : https://stackoverflow.com/questions/739993/how-can-i-get-a-list-of-locally-installed-python-modules

반응형