setuptools를 사용하여 임의의 위치에 파일을 설치할 수 있습니까? 이전에 setuptools와 함께 Data Files을 사용했지만 일반적으로 패키지 디렉토리에 설치됩니다. 다른 응용 프로그램의 설치 디렉토리에있는 플러그인 파일을 설치해야합니다.setuptools를 사용하여 임의의 위치에 파일 설치
1
A
답변
1
setuptools는 의도적으로 패키지 디렉토리 외부에서 파일을 설치하는 것을 어렵게 만들었습니다.
대신 패키지 데이터로 플러그인 파일을 포함하고 setuptools의 Entry Points 기능을 사용하여 배포하려는 플러그인 파일의 설치/제거 기능을 노출했습니다. 이 답변
$> mypackage_install_plugins
1
data_files 속성을 사용하면 전체 경로를 지정할 수 있습니다.
setup.py에서 shutil.copy 마법을 사용할 수도 있습니다.
1
체크 아웃 : :
setup(
...
entry_points={
'console_scripts': [
'mypackage_install_plugins = mypackage:install_plugins',
'mypackage_uninstall_plugins = mypackage:uninstall_plugins',
],
}
)
난 그냥 파이썬 패키지를 설치 한 후 다음 명령을 실행하기 위해 설치 지시 사항을 추가 단계를 추가
Execute a Python script post install using distutils/setuptools
을하는 설치가 끝날 때 실행되는 임의의 설치 스크립트 (파이썬, 쉘, 무엇이든)를 추가하는 방법을 보여줍니다. "setup.py install"을 직접 실행하거나 "pip install"과 같은 패키지 관리자를 실행합니다. 이를 통해 어디에서나 원하는 파일을 추가 할 수 있습니다.
불행히도, 전 패키지 관리자가 아니기 때문에 setuptools가 제거를 처리하지 않습니다. 따라서 설치 후 스크립트에서 수행 한 작업을 되돌리려면 제거 훅을 사용할 방법이 없습니다.
감사합니다. 이것은 대부분의 위치에서 작동하는 것 같습니다. Qt Designer 플러그인의 경우 인 site-packages 디렉토리 안의 다른 패키지 내의 경로를 허용하지 않는 것 같습니다. –