source

로컬에 설치된 Python 모듈 목록을 가져오려면 어떻게 해야 합니까?

factcode 2022. 9. 12. 11:36
반응형

로컬에 설치된 Python 모듈 목록을 가져오려면 어떻게 해야 합니까?

내 컴퓨터에 설치된 Python 모듈 목록을 가져오려면 어떻게 해야 하나요?

help('modules')

Python 쉘/프롬프트에 포함되어 있습니다.

솔루션

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

를 데 pip freeze의 - - Python 스크립트의 목록입니다.

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 (하나님이 금지)easy_install.

내 사용 사례

때 i i i i i i i i i i i i i i i i i로 호출합니다.그래서 이 콜을 할 때http://example.com/exampleServer/environmentvirtualenv 에envenv에 에에에에에 에env에 envenv에 에env 。이치노

주의사항

Python 가 Python 인터프리터와 때을 볼 수 .setup.py 되어 있는 .setup.py.

재현 순서:

Create a virtual environment
$ cd /tmp
$ virtualenv test_env
New python executable in test_env/bin/python
Installing setuptools, pip...done.
$ source test_env/bin/activate
(test_env) $ 
Clone a git repo with 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
Install the python package from the git repo
(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

을 from에 if from from에서 /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'

을 from에 if from from에서 /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예에서는 에는 "Directory"가 포함되어 있지 않기 되어 있습니다.behave의 »setup.pyfilename을 클릭합니다.

이 문제에 대한 언급을 서류에서 찾을 수 없었습니다.아마도 나는 그것을 위해 도청장치를 풀어야 할 것이다.

이 방법들을 직접 시도해보니 광고된 그대로였습니다.모든 모듈

아아, 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

패키지 인스톨 툴은, 「freeze」라고 하는 이름은 아니지만, 이 기능을 찾을 수 있는 장소이기 때문에, 「놀랍다」라고 말하는 것입니다만, 파이썬 패키징은 매우 이상하기 때문에, 이 툴이 이치에 맞는다는 것에 놀랐습니다.Pip 0.8.2, Python 2.7.

pip 버전 1.3 이후로는 다음 기능에 액세스할 수 있습니다.

pip list

'파이프 프리즈'를 위한 통사설탕인 것 같아요여기에는 설치 또는 Virtualenv에 고유한 모든 모듈이 버전 번호와 함께 나열됩니다.안타깝게도 모듈의 현재 버전 번호는 표시되지 않으며 설거지나 신발 광택도 나지 않습니다.

  • " 라고 입력할 수 있습니다.importTab"

  • Python에서는 "Python"을"Python"으로 입력할 수 .help('modules')

  • 명령줄에서 다음을 사용할 수 있습니다. modules.

  • 스크립트에서는 를 호출합니다.

현재 사용되고 있는 모듈을 표시하기 위해 사용합니다.

import sys as s
s.modules.keys()

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

모든 내장 모듈에 대해 다음을 사용합니다.

s.modules

모든 모듈과 Import 객체를 포함하는 dict입니다.

일반 쉘에서는 사용만 하면 됩니다.

pydoc modules

10로는, .pp 10 ip 、 ip 、 ip as 、 as as as as as as 。은 발음음음음음음음음음음 to to to to to to to to to to to to to to to to to to 에 대한 접근을 했다.get_installed_distributions, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아.setuptools여기pip 10:da 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에서도 동작하는지 여부를 알려주세요.

PIP 버전에 관계없이 동작

python 에디터 또는 IPython에서 다음을 실행합니다.

import pkg_resources
installed_packages = {d.project_name: d.version for d in pkg_resources.working_set}
print(installed_packages)

Python에서 가장 빠르고 쉬운 이 콤보에서 다른 답을 읽어보세요.

특정 패키지 검색

그러면 쉽게 받아쓰기에서 항목을 가져올 수 있습니다.

installed_packages['pandas'] '4'> '1.16.4'

PIP 리스트의 적절한 사용

!pip list에서 작업할 경우 주피터 노트북 되기 때문에 '되어 grep와 같은 와 결합됩니다.pip list | grep pandas 를 들어 버전의 를 얻을 수 있습니다.

해야 할 Python을 할 수 .help과 같이

>>> help('modules package')

는 보통 ★★★★★★★★★★★★★★를 사용하고 있습니다.pip list이치노

이치노(패키지가 ) 되어 있는하려면 ( )를 합니다.pip list --local.

사용 가능한 모든 정보를 보여주는 문서입니다.pip list몇 가지 좋은 예가 있습니다.

이것이 도움이 될 것이다

터미널 또는 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

시험해 보다

pip list

또는

pip freeze

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]

Windows 의 경우는, cmd 단위로 입력합니다.

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

OS X에서 커스텀 인스톨 된 python 2.7을 발견했습니다.X11은 설치된 모듈(도움말과 pydoc 모두 사용)을 나열해야 했습니다.

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

pydoc -p 12345

사파리를 사파리로 할 수 http://localhost:12345/모든 모듈을 표시합니다.

은 모듈 입니다.importlib ★★★★★★★★★★★★★★★★★」pkgutilCPython 3.4 CPython 3.5 CPython 2 CPython 2 CPython 2 CPython 2 CPython 3.4 CPython 3.5 CPython 2.5 CPython 2 CPython 3 .


설명.

  1. sys.builtin_module_names- 모든 내장 모듈에 이름을 붙입니다(내 답변은 이쪽 참조).
  2. pkgutil.iter_modules()- 사용 가능한 모든 모듈에 대한 정보를 반환합니다.
  3. importlib.util.find_spec()- 모듈 Import에 대한 정보(존재하는 경우)를 반환합니다.
  4. BuiltinImporter- 빌트인 모듈 수입업체(수입업체)
  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()

사용.

CPython 3.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*******************************)

CPython 3.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*******************************)

경고:Adam Matan은 pip > 10.0에서 이 사용을 권장하지 않습니다.또, @sinoroc의 코멘트를 읽어 주세요.

이는 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
-------------------------------------------  --------------  ------

어떤 하지 않았는지 쉽게 할 수 .sudo.


메모는 별도로 합니다.때, 「 」를 개입시켜 했을 sudo한 번 제외하면 다른 한 곳이 나열되지 않도록 한 곳이 우선됩니다(하나의 위치만 표시됨).그러면 로컬 디렉토리에는 1개만 기재되어 있을 겁니다.을 사용하다

아나콘다 파이썬 배포판이 설치되어 있는 경우

$conda list

위에서 설명한 솔루션과 더불어

「 」를 사용하는 것 에, 「 」를 사용하는 것도 합니다.pip freeze가상 환경에 노른자를 설치하고 있습니다.

  1. 한 모든 " " " 를 실행합니다.sys.modules
  2. 설치되어 있는 모든 모듈을 가져오려면 (읽기: 설치 완료자)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

고양이 가죽을 벗기는 방법은 여러 가지가 있다.

  • 은 '우리에게'를 사용하는 입니다.pydoc하다
    pydoc modules

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


여기에 이미지 설명 입력

pip freeze는 패키지를 모두 검색하지만 python 패키지가 있는 모든 경로를 나열하기 위해 다음 명령을 간단히 작성할 수 있습니다.

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

여러 가지 아이디어가 있지만 처음에는 이 두 가지를 생각하고 있습니다.

삐삐

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

도움말(')

단점: 콘솔 출력. 파손된 모듈(ubuntu... 참조)을 사용하면 세그 폴트가 발생할 수 있습니다.

기본 라이브러리를 사용하고 오래된 python 2.x와 호환되는 쉬운 접근법이 필요합니다.

list modules라는 불빛이 보입니다.화이

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

장점:

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

Python 1.5.2 이상에서 실행되도록 설계되었습니다.

소스코드는 매우 콤팩트하기 때문에 예를 들어 버그 모듈의 예외 목록을 통과시키는 등 쉽게 조작할 수 있습니다(가져오지 마십시오).

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
  • AWS SDK for JavaScript – 2.290.0 \
  • SDK for Python (Boto 3) – 3-1.7.74 botocore-1.10.74

설치된 모듈 목록을 반환하는 파이썬 코드 솔루션입니다.버전 번호를 포함하도록 코드를 쉽게 수정할 수 있습니다.

import subprocess
import sys
from pprint import pprint

installed_packages = reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze']).decode('utf-8')
installed_packages = installed_packages.split('\r\n')
installed_packages = [pkg.split('==')[0] for pkg in installed_packages if pkg != '']
pprint(installed_packages)

인스톨

pip install pkgutil

코드

import pkgutil

for i in pkgutil.iter_modules(None): # returns a tuple (path, package_name, ispkg_flag)
    print(i[1]) #or you can append it to a list

출력 예:

multiprocessing
netrc
nntplib
ntpath
nturl2path
numbers
opcode
pickle
pickletools
pipes
pkgutil
pip install pip-chill 
pip-chill

상기 중 어느 것도 도움이 되지 않는 경우는 시스템 업그레이드에서 장애가 발생하여 pip을 업그레이드할 수 없었습니다.env > lib > python ( version here ) > site - packages > your looking looking simply simply simply looking looking looking looking 、설치되어 있는 모듈의 정확한 정보를 얻을 수 있습니다.

pip3 freeze

이 명령어를 글로벌하게 실행합니다.가상 환경에서 이 명령어를 실행하는 모든 글로벌 설치가 표시됩니다.모든 로컬 설치가 표시됩니다.

언급URL : https://stackoverflow.com/questions/739993/how-do-i-get-a-list-of-locally-installed-python-modules

반응형