source

가상 env에 Python Windows 패키지를 설치할 수 있습니까?

factcode 2023. 6. 18. 16:22
반응형

가상 env에 Python Windows 패키지를 설치할 수 있습니까?

Virtualenv는 훌륭합니다. 여러 개의 개별 Python 설치를 유지할 수 있으므로 서로 다른 프로젝트의 종속성이 모두 공통 파일에 포함되지 않습니다.

그러나 .exe 설치 관리자로 패키지된 패키지를 Windows에 설치하려면 어떻게 해야 합니까?예를 들어 pycuda-0.94rc.win32-py2.6.exe가 있습니다.이를 실행하면 레지스트리를 검사하고 가상 환경의 기반이 되는 공통 Python26을 하나만 찾습니다.

가상 환경에 설치하도록 하려면 어떻게 해야 합니까?

네, 가능합니다.필요한 것은

easy_install binary_built_with_distutils.exe

놀랐나요?distutils로 만든 Windows용 이진 설치 프로그램은 .exe와 .zip을 하나의 .exe 파일로 결합한 것처럼 보입니다.확장명을 .zip으로 변경하여 올바른 zip 파일인지 확인합니다.Windows용 psycopg2가 포함된 바이너리 에그는 어디서 다운로드할 수 있습니까?라는 질문에 대한 답변을 읽은 후 이를 발견했습니다.

갱신하다

요즘 그의 대답에서 삼중수소 21에 의해 언급된 것처럼, 당신은 easy_install 대신 pip을 사용해야 합니다.Pip은 대리점에서 만든 바이너리 패키지를 설치할 수 없지만 새로운 휠 형식으로 바이너리 패키지를 설치할 수 있습니다.먼저 설치해야 하는 휠 패키지를 사용하여 이전 형식에서 새 형식으로 변환할 수 있습니다.

저는 이것이 꽤 오래된 질문이라는 것을 알고 있고, 제가 이야기하려는 도구들보다 앞서 있다는 것을 알고 있습니다. 하지만 구글을 위해서라면, 그것을 언급하는 것이 좋은 생각이라고 생각합니다.easy_install은 python 포장의 검은 양입니다.아무도 그것을 사용하는 것을 인정하고 싶어하지 않습니다.또한 레지스트리 트릭을 하는 것이 비표준 EXE 설치 프로그램에 가장 효과적이지만(누군가가 Distutils를 사용하는 대신 설치 프로그램을 직접 구축하고 설치 경로에 대한 레지스트리를 확인하고 있음), 이제 표준 EXE 설치 프로그램에 대한 Better Way(c)가 있습니다.

pip install wheel
wheel convert INSTALLER.EXE
pip install NEW_FILE_CREATED_IN_LAST_STEP.whl

이 게시물에서 최근에 소개된 휠 형식은 계란 형식을 대체하는 것으로, 거의 같은 역할을 수행합니다.이 형식은 pip(가상 환경에 이미 설치된 도구)에서도 지원됩니다.

어떤 이유로pip install WHEELFILE작동하지 않습니다. 시도하십시오.wheel install WHEELFILE

저는 결국 레지스트리에 파이썬 설치를 등록하기 위해 스크립트(http://effbot.org/zone/python-register.htm) 를 적용했습니다.레지스트리에서 파이썬이 될 파이썬을 선택하고 Windows 설치 프로그램을 실행한 다음 레지스트리를 다시 설정할 수 있습니다.

# -*- encoding: utf-8 -*-
#
# script to register Python 2.0 or later for use with win32all
# and other extensions that require Python registry settings
#
# Adapted by Ned Batchelder from a script
# written by Joakim Löw for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm

import sys

from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)

def RegisterPy():
    try:
        reg = OpenKey(HKEY_LOCAL_MACHINE, regpath)
    except EnvironmentError:
        try:
            reg = CreateKey(HKEY_LOCAL_MACHINE, regpath)
        except Exception, e:
            print "*** Unable to register: %s" % e
            return

    SetValue(reg, installkey, REG_SZ, installpath)
    SetValue(reg, pythonkey, REG_SZ, pythonpath)
    CloseKey(reg)
    print "--- Python %s at %s is now registered!" % (version, installpath)

if __name__ == "__main__":
    RegisterPy()

등록할 파이썬으로 이 스크립트를 실행하면 레지스트리에 입력됩니다.Windows 7(윈도우 7) 및 Vista(윈도우 비스타)에서는 관리자 권한이 필요합니다.

easy_install은 distutils의 bdist_wininst 대상을 사용하여 구축된 경우에만 .exe 패키지를 설치할 수 있습니다.하지만 그렇지 않은 다른 많은 것들이 있습니다(wxPython은 제가 고생했던 것 중 하나입니다).

환경의 easy_install을 사용하여 PyCUDA를 설치할 수 있습니다.

dev-env-path/bin/easy_install pycuda

같은 버전 0.94rc를 제공합니다.

Windows에서 easy_install.exe는 Scripts 디렉토리에 있습니다.

만약 그것이.msi다음을 사용하여 명령줄 옵션을 지정할 수 있습니다.msiexecPython 설치 관리자 자체는 다음을 허용합니다.TARGETDIR하지만 유통업자들이 이것을 유통 설치자로 만드는지는 잘 모르겠습니다.

를 사용하는 경우.exe저는 깨끗한 방법이 없다고 생각합니다.한 가지 옵션은 7Zip(또는 winzip 등)과 같은 프로그램을 사용하여 exe의 내용을 직접 추출한 다음 관련 폴더를 가상 사이트 패키지 폴더에 복사하는 것입니다.예를 들어 "processing-0.5.2.win32-py2.5.exe"를 추출하면 "PLATLIB\processing" 폴더가 발견되고 이 폴더는 가상 환경 경로에 복사되어 런타임 문제 없이 사용됩니다. (하지만 항상 그렇게 간단한지는 잘 모르겠습니다.)

파일의 경로를 입력하고 그 앞에 'python'을 써야 합니다.

가상 환경 없이 파이썬 스크립트를 실행할 수 있습니다.

감사해요.

언급URL : https://stackoverflow.com/questions/3271590/can-i-install-python-windows-packages-into-virtualenvs

반응형