파이썬에서 설치된 모든 패키지와 해당 버전을 나열하는 방법은 무엇입니까?
파이썬에서 설치된 모든 패키지와 해당 버전을 나열할 수 있는 방법이 있습니까?
안으로 들어갈 수 있다는 걸 알아요python/Lib/site-packages
어떤 파일과 디렉터리가 있는지 확인합니다. 하지만 저는 이것이 매우 어색하다고 생각합니다. 있는 은 제가찾과 비슷한 것입니다.npm list
예를 들어, npm-ls.
pip 설치가 있고 설치 도구와 함께 설치된 패키지를 확인하려면 다음과 같이 간단히 부를 수 있습니다.
pip freeze
또한 설치된 패키지의 버전 번호도 포함됩니다.
갱신하다
도 pip과 되었습니다.pip freeze
전화:
pip list
메모
의 입니다.pip list
에 (번호를 을 구문 셸 ( 버전 번호를 파악하기 위해)freeze
그리고 당신의 대본을 통화로 바꾸고 싶습니다.list
구문 분석 코드를 변경해야 합니다.
help('modules')
당신을 위해 그것을 해야 합니다.
IPython에서:
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
설치된 python 배포판에 대한 정보를 얻고 싶고 cmd 콘솔이나 터미널을 사용하지 않고 python 코드를 통해 다음 코드를 사용할 수 있습니다(python 3.4로 테스트됨).
import pip #needed to use the pip functions
for i in pip.get_installed_distributions(local_only=True):
print(i)
그pip.get_installed_distributions(local_only=True)
및으로 인해 한 항목에 포함된 는 새 줄 문자(function-call\n
설치된 배포판에 따라 결과는 다음과 같습니다.
cycler 0.9.0
decorator 4.0.4
ipykernel 4.1.0
ipython 4.0.0
ipython-genutils 0.1.0
ipywidgets 4.0.3
Jinja2 2.8
jsonschema 2.5.1
jupyter 1.0.0
jupyter-client 4.1.1
#... and so on...
pip에서 (" "pip" "에서 테스트됨"pip==10.0.1
과 같이
from pip._internal.operations.freeze import freeze
for requirement in freeze(local_only=True):
print(requirement)
내 생각엔:
#!/usr/bin/env python3
import pkg_resources
dists = [str(d).replace(" ","==") for d in pkg_resources.working_set]
for i in dists:
print(i)
명령줄에서
python -c help('modules')
모든 모듈 및 특정 모듈을 보는 데 사용할 수 있습니다.
python -c help('os')
아래 Linux의 경우 작동합니다.
python -c "help('os')"
easy_install의 경우(사용되지 않음, Python <= v2.7, 이를 사용하지 말고 pip을 대신 사용하십시오. 여전히 easy_install을 사용하는 이전 프로젝트에서만 사용하십시오.)
시도할 수 있습니다: 노른자.
설치 노른자의 경우 다음을 시도합니다.
easy_install yolk
Yolk는 설치된 Python 패키지에 대한 정보를 얻고 Python 패키지 인덱스(Python Package Index)에서 사용할 수 있는 패키지를 쿼리하기 위한 Python 도구입니다.
활성, 비활성 또는 개발 모드에 있는 패키지를 확인하고 PyPI를 쿼리하여 사용 가능한 최신 버전을 표시할 수 있습니다.
네! 파이썬 패키지 관리자로 pip을 사용해야 합니다(http://pypi.python.org/pypi/pip ).
Pip이 설치된 패키지로, 당신은 할 수 있습니다.
pip freeze
설치된 모든 패키지가 나열됩니다.virtualenv와 virtualenvrapper도 사용해야 합니다.당신이 새로운 프로젝트를 시작할 때, 당신은 할 수 있습니다.
mkvirtualenv my_new_project
그런 다음 (가상 환경을 포함하여) 실행합니다.
pip install all_your_stuff
식으로 게하면은, 신당렇이를 할 수 있습니다.workon my_new_project
그리고 나서.pip freeze
해당 가상 환경/프로젝트에 대해 설치된 패키지를 확인합니다.
예:
➜ ~ mkvirtualenv yo_dude
New python executable in yo_dude/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/get_env_details
(yo_dude)➜ ~ pip install django
Downloading/unpacking django
Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded
Running setup.py egg_info for package django
Installing collected packages: django
Running setup.py install for django
changing mode of build/scripts-2.7/django-admin.py from 644 to 755
changing mode of /Users/aaylward/dev/virtualenvs/yo_dude/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
(yo_dude)➜ ~ pip freeze
Django==1.4.1
wsgiref==0.1.2
(yo_dude)➜ ~
또는 requirements.python 파일이 있는 python 패키지가 있는 경우,
mkvirtualenv my_awesome_project
pip install -r requirements.pip
pip freeze
성공할 것입니다
아나콘다를 사용하는 경우:
conda list
할 것입니다!참조: https://conda.io/docs/_downloads/conda-cheatsheet.pdf
다음을 사용하여 수행하는 방법은 다음과 같습니다.PYTHONPATH
파이썬 libs dir의 절대 경로 대신:
for d in `echo "${PYTHONPATH}" | tr ':' '\n'`; do ls "${d}"; done
[ 10:43 Jonathan@MacBookPro-2 ~/xCode/Projects/Python for iOS/trunk/Python for iOS/Python for iOS ]$ for d in `echo "$PYTHONPATH" | tr ':' '\n'`; do ls "${d}"; done
libpython2.7.dylib pkgconfig python2.7
BaseHTTPServer.py _pyio.pyc cgitb.pyo doctest.pyo htmlentitydefs.pyc mimetools.pyc plat-mac runpy.py stringold.pyc traceback.pyo
BaseHTTPServer.pyc _pyio.pyo chunk.py dumbdbm.py htmlentitydefs.pyo mimetools.pyo platform.py runpy.pyc stringold.pyo tty.py
BaseHTTPServer.pyo _strptime.py chunk.pyc dumbdbm.pyc htmllib.py mimetypes.py platform.pyc runpy.pyo stringprep.py tty.pyc
Bastion.py _strptime.pyc chunk.pyo dumbdbm.pyo htmllib.pyc mimetypes.pyc platform.pyo sched.py stringprep.pyc tty.pyo
Bastion.pyc _strptime.pyo cmd.py
....
파이썬 내에서 실행하기 위해 이것이 필요하다면 하위 프로세스를 호출할 수 있습니다.
from subprocess import PIPE, Popen
pip_process = Popen(["pip freeze"], stdout=PIPE,
stderr=PIPE, shell=True)
stdout, stderr = pip_process.communicate()
print(stdout.decode("utf-8"))
코드를 사용하는 경우, 예를 들어 Hacker의 어떤 모듈 등을 확인할 수 있습니다.
import os
os.system("pip list")
Windows 10의 경우, 이것이 설치된 사용 가능한 Pythons 목록을 찾고 있는 것 같습니다.이것은 아래와 같이 패키지 목록과 다릅니다. 20가 "Ubuntu 20.04"인 것 .Python3 -0 list
예, 노드 버전 관리자와 유사하게 작동합니다.
c:\Users\user\AppData\Local\Programs\Python>py -0 list
Python 0 not found!
Installed Pythons found by py Launcher for Windows
-3.10-64 *
-3.9-64
-3.7-64
-3.6-64
-2.7-64
Requested Python version (0) not installed, use -0 for available pythons
c:\Users\user\AppData\Local\Programs\Python>py -0p
Installed Pythons found by py Launcher for Windows
-3.10-64 C:\Python310\python.exe *
-3.9-64 C:\Users\user\AppData\Local\Programs\Python\Python39\python.exe
-3.7-64 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe
-3.6-64 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe
-2.7-64 C:\Python27amd64\python.exe
참조: https://www.infoworld.com/article/3617292/how-to-use-pythons-py-launcher-for-windows.html
참고 항목: https://www.freecodecamp.org/news/manage-multiple-python-versions-and-virtual-environments-venv-pyenv-pyvenv-a29fb00c296f/
위 링크에서 "단일 시스템에서 여러 버전의 Python을 사용하려면 pyenv가 일반적으로 설치 및 버전 간 전환에 사용되는 도구입니다.이는 앞서 언급한 감가상각된 pyvenv 스크립트와 혼동되어서는 안 됩니다.Python과 함께 제공되지 않으므로 별도로 설치해야 합니다." -- 참고: 이는 Node.js 및 NPM 버전의 Node Version Manager와 유사하게 작동합니다.
참고 항목: https://github.com/pyenv-win/pyenv-win#installation
조치: PowerShell을 열고 다음 웹 요청을 입력합니다.위의 링크는 다른 접근 방식도 제공하지만, 이것이 가장 쉬운 접근 방식인 것 같습니다.런타임 출력 파일의 이름은 원래 예상했던 대로 'pyenv-win'과 같은 이름 변형이 아니라 실제로 'pyenv'입니다.
PS C:\Users\user> Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
pyenv-win 2.64.11 installed.
No updates available.
PS C:\Users\user>
Python의 Version Manager인 'pyenv'로 작업하기 위한 출력 예제.
C:\Users\user>pyenv --version
pyenv 2.64.11
C:\Users\name>pyenv
pyenv 2.64.11
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
duplicate Creates a duplicate python environment
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
update Update the cached version DB
rehash Rehash pyenv shims (run this after installing executables)
vname Show the current Python version
version Show the current Python version and its origin
version-name Show the current Python version
versions List all Python versions available to pyenv
exec Runs an executable by first preparing PATH so that the selected Python
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv-win/pyenv-win#readme
C:\Users\name>pyenv commands
--version
commands
duplicate
exec
export
global
help
install
local
rehash
shell
shims
uninstall
update
version-name
version
versions
vname
whence
which
C:\Users\name>pyenv version
No global python version has been set yet. Please set the global version by typing:
pyenv global 3.7.2
C:\Users\user>pyenv local
no local version configured for this directory
C:\Users\user>pyenv global
no global version configured
C:\Users\user>pyenv local 3.9-64
pyenv specific python requisite didn't meet. Project is using different version of python.
Install python '3.9-64' by typing: 'pyenv install 3.9-64'
내 노트:'https://www.python.org/downloads/' '의 버전 이름이 'pyenv'에서 제공하는 버전 이름과 다릅니다.이 버전은 이미 로컬로 설치되었지만 이 Python 버전 관리자의 제어를 벗어나므로 관리자가 볼 수 없습니다.
C:\Users\user>pyenv install 3.8.10-64
:: [Info] :: Mirror: https://www.python.org/ftp/python
pyenv-install: definition not found: local
내 노트:이 Python 버전은 'https://www.python.org/downloads/' 에 있지만 관리 목록에 포함되지 않습니다.그래서 당신은 매니저가 제공한 목록을 봐야 합니다.'pyenv install --list'로 사용 가능한 모든 버전을 봅니다.
C:\Users\user>pyenv install --list
Note: Review the list from this call and make your selection.
C:\Users\user>pyenv install 3.8.10
:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Downloading] :: 3.8.10 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64-webinstall.exe
:: [Downloading] :: To C:\Users\user\.pyenv\pyenv-win\install_cache\python-3.8.10-amd64-webinstall.exe
:: [Installing] :: 3.8.10 ...
:: [Info] :: completed! 3.8.10
내 노트:이 Python 버전 관리자인 'pyenv'를 설치한 후 Node.js Version Manager(NVM)와 동일한 패러다임을 따르는 설치 후 버전을 'local' 또는 'global'로 지정해야 합니다.다시 말씀드리지만, 제가 보기에 Python 버전 관리자는 Manager가 설치하는 Python 버전만 볼 수 있고, Python 버전 관리자와 함께 설치한 버전만 제거할 수 있습니다.
C:\Users\user>pyenv local 3.8.10
C:\Users\user>pyenv local
3.8.10
C:\Users\user>pyenv version
3.8.10 (set by C:\Users\user\.python-version)
C:\Users\user>pyenv versions
* 3.8.10 (set by C:\Users\user\.python-version)
C:\Users\user>pyenv vname
3.8.10
C:\Users\user>pyenv global
no global version configured
아래는 패키지 작업을 위한 것입니다.
참고 항목: https://www.freecodecamp.org/news/manage-multiple-python-versions-and-virtual-environments-venv-pyenv-pyvenv-a29fb00c296f/
위 링크에서 "환경이 활성화되면 정상적으로 pip을 통해 모든 패키지를 설치할 수 있습니다.기본적으로 새로 생성된 환경에는 시스템에 이미 설치된 패키지가 포함되지 않습니다.기계에 반드시 파이프 자체를 설치할 필요는 없습니다.먼저 'pip install --upgrade pip'을 사용하여 최신 버전으로 pip을 업그레이드하는 것이 좋습니다. -- 아래 패키지와 해당 버전을 나열하기 위해 이 두 번의 호출을 하기 직전에 pip 업그레이드를 수행했습니다.
c:\Users\user\AppData\Local\Programs\Python>pip list
Package Version
---------- -------
pip 22.1
setuptools 62.2.0
wheel 0.37.1
c:\Users\user\AppData\Local\Programs\Python>pip list --local
Package Version
---------- -------
pip 22.1
setuptools 62.2.0
wheel 0.37.1
pkg_resources 설명서에 따르면 현재 권장되는 방법은 버전 3.8 이후 표준 라이브러리의 일부인 importlib.metadata를 사용하는 것입니다.
from importlib import metadata
for dist in metadata.distributions():
print(f"{dist.name}=={dist.version}")
언급URL : https://stackoverflow.com/questions/12939975/how-to-list-all-installed-packages-and-their-versions-in-python
'programing' 카테고리의 다른 글
"예외가 호출 대상에 의해 던져졌습니다." 오류(mscorlib) (0) | 2023.06.11 |
---|---|
힙의 구조체 구성원을 초기화하는 방법 (0) | 2023.06.11 |
FirebaseRemoteConfig 오류 "파라미터 키에 대해 'String' 유형의 값이 없습니다." (0) | 2023.06.11 |
WebAPI에서 POST 데이터를 가져오는 방법은 무엇입니까? (0) | 2023.06.11 |
data.frame의 각 행을 반복합니다. 열에 지정된 횟수 (0) | 2023.06.11 |