[python-3.x] Windows 10에서 Python을 실행하려는 “권한 거부 됨”

Windows 10의 업데이트가 하룻밤 사이에 Python을 망가 뜨린 것처럼 보입니다. 실행하려고 python --version하면 “Permission Denied”오류가 반환되었습니다. 세 가지 업데이트가 없습니다. KB4507453, KB4506991 또는 KB4509096이 범인 인 것처럼 보이지만 문제의시기가 의심 스럽습니다. 롤백을 엉망으로 만드는 대신 내가 놓친 더 간단한 수정이 있기를 바랍니다.

파이썬에 대한 권한은 “-rwxr-xr-x”이며 어젯밤 패치를 설치 한 후 Windows 업데이트가 시스템을 재부팅하도록하는 것 외에는 아무것도 변경하지 않았습니다.

시스템 정보에 따르면 10.0.18362를 실행하고 있습니다.

또한 이것은 “관리자 권한으로 실행”을 사용하여 git-bash에서 Python을 실행 (시도)하는지 여부에 관계없이 발생하며, PowerShell을 사용하려고하면 앱이 설치되지 않은 것처럼 Windows 스토어가 열립니다. /c/Users/david/AppData/Local/Microsoft/WindowsApps/어떤 이유로 내 폴더 의 내용을 볼 수 없다고 생각합니다 .

또한 Python 3.7.4를 다시 설치하려고 시도했지만 도움이되지 않았습니다. 내가 봐야 할 다른 것이 있습니까?



답변

내가 알 수있는 한, 이것은 최근에 Windows Store에 추가 된 Python 3.7 버전과의 충돌로 인해 발생했습니다. 이 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps폴더에 python.exe 및 python3.exe라는 두 개의 “스텁”이 추가 된 것 같습니다 . 제 경우에는 .NET Framework의 기존 Python 실행 파일 항목 앞에 삽입 되었습니다 PATH.

이 항목을 올바른 Python 폴더 아래로 (부분적으로) 이동하면 문제가 해결되었습니다.

이를 수정하는 두 번째 부분은 manage app execution aliasesWindows 검색 프롬프트에 입력하고 Python의 저장소 버전을 모두 비활성화하는 것입니다.

앱 실행 별칭 관리

두 번째 부분 만 수행하면 될 수도 있지만 내 시스템에서 두 가지를 모두 변경했으며 이제 모든 것이 정상으로 돌아 왔습니다.


답변

연구

의 모든 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps파일은 실제로 어딘가에있는 파일을 가리키는 자리 표시 자이며 C:\Program Files\WindowsApps권한이 완전히 거부됩니다.

이 문제를 복제하여 진술 한 내용이 올바른 방향으로 진행된 것 같습니다.

“그들은 배포 방법을 권한으로 망쳐 놓는 것에 대해 정말로 생각하지 않은 것 같습니다!”

출처 : Windows에서 Git Bash에 파일 린트를 설치할 수 없음 (Windows 스토어)

WindowsApps 배포 방법으로 인해 권한이 엉망이됩니다.

여기에 이미지 설명 입력
여기에 이미지 설명 입력
여기에 이미지 설명 입력
흥미롭게도 “Users”그룹은 특정 사용자뿐만 아니라 파일을 읽고 실행할 수 있지만 Administrators 그룹은 엄청나게 헤아릴 수없는 이유로 폴더 내용 만 나열 할 수 있습니다. 그리고 파일 탐색기에서 폴더에 액세스하려고 할 때 폴더 내용을 표시하는 것도 거부하므로 그에 대해 이상한 점이 있습니다.

흥미롭게도 pythonCMD에서 실행 해도 잘 작동 하지만 “WindowsApps”폴더가 상주하는 디렉터리에있는 파일을 나열 할 때 표시되지 않으며 폴더로 이동하려고하면 “Permission denied”오류가 발생합니다.

여기에 이미지 설명 입력

권한을 변경하려면 먼저 소유자를 변경해야하므로 소유자를 Administrators 그룹으로 변경했습니다. 그 후 관리자 그룹에 대한 권한을 모든 권한을 포함하도록 변경하려고 시도했지만 “액세스가 거부되었습니다”(마이크로 $ ucks, 변경하려고합니다!) 때문에이를 변경할 수 없습니다.

여기에 이미지 설명 입력

이 권한 오류는 너무 많은 파일에서 발생하여 Alt + C를 사용하여 반복 메시지에서 “계속”을 빠르게 클릭했지만 여전히 너무 오래 걸렸기 때문에 프로세스를 취소하여 다음 경고 메시지가 나타납니다.

여기에 이미지 설명 입력

이제 TrustedInstaller 사용자를 WindowsApps 폴더의 소유자로 다시 설정할 수 없습니다. 사용자 / 그룹 / 기본 제공 보안 원칙 / 기타 개체 목록에 표시되지 않기 때문입니다. *

여기에 이미지 설명 입력

* 실제로이 자습서 에 따라 NT Service\TrustedInstaller개체 이름 텍스트 상자 에 입력하여 소유자를 TrustedInstaller로 다시 바꿀 수 있습니다 .

해결책

해결책이 없습니다. 기본적으로 우리는 완전히 망가졌습니다. 품격있는 움직임, 마이크로 소프트.


답변

이것은 git-bash의 한계로 보입니다. 사용 권장 사항이 winpty python.exe저에게 효과적이었습니다. 추가 정보 는 git bash의 명령 줄에서 작동하지 않는 Python을 참조 하세요.


답변

이 문제는 너무 흔해서 여전히 지속되지 않습니다. 그리고 대부분의 답변과 지침은이를 해결하지 못합니다. Windows 10에서 수행 할 작업은 다음과 같습니다.

  1. environment variables시작 검색 창에 입력 하고 시스템 환경 변수 편집을 엽니 다 .

  2. 환경 변수 …를 클릭하십시오 .

  3. 시스템 변수 섹션에서 키로 변수를 찾아 Path두 번 클릭합니다.

  4. 파이썬 파일을 가리키는 경로를 찾으십시오. 아마 없을 것입니다. 있는 경우 선택하여 삭제하십시오.

  5. Python 실행 파일의 경로로 설정된 새 변수를 만듭니다. 일반적으로 이것은입니다 C:\Users\[YOUR USERNAME HERE]\AppData\Local\Programs\Python\Python38. 파일 탐색기를 통해 확인하십시오.

    참고 : AppData가 보이지 않으면 숨겨진 항목보기를 활성화 하지 않았기 때문입니다 .보기 탭을 클릭하고 숨겨진 항목 확인란을 선택합니다.

  6. Scripts디렉토리를 가리키는 다른 변수를 만듭니다 . 일반적으로 C:\Users\[YOUR USERNAME HERE]\AppData\Local\Programs\Python\Scripts.

  7. 터미널 및 시도 입력을 다시 시작 py, python, python3, 또는 python.exe.


답변

PowerShell의 솔루션은 아니지만 MINGW64를 제외하고는 동일한 문제가 발생했습니다. 일반적으로 VSCode에서 터미널로 Linux 용 Windows 하위 시스템 (어쨌든하고 싶었 음)으로 전환하여 문제를 해결했습니다. 이 게시물은 이에 대해 잘 설명합니다.

Ubuntu 앱을 터미널로 사용하도록 VS Code (Windows)를 구성하는 방법

요약하자면:

1) Windows App Store에서 Ubuntu 설치

2) CMD-> wslconfig / setdefault Ubuntu에서 기본 bash 변경

— VSCode 용

3) VSCode 다시 시작

4) VSCode에서 “terminal.integrated.shell.windows”를 “C : \ WINDOWS \ System32 \ bash.exe”로 변경합니다 (자세한 내용은 위의 게시물 참조).

이제 VSCode 및 WSL (Windows의 Ubuntu에서 Bash)에서 원활하게 실행됩니다. 적어도 일시적인 해결책이 될 수 있습니다.


답변

WindowsApps가 문제를 해결하기 전에 로컬 Python 경로를 추가했습니다.

환경 변수> 경로

Bash Python-버전


답변

해결 방법 : exe에서 Python을 설치 한 경우 아래 단계를 따르십시오.

1 단계 : Python 제거

2 단계 : 아래 스크린 샷 (노란색)에 강조 표시된대로 Python을 설치하고 Python 경로 확인란을 선택합니다.

이것은 나에게 문제를 해결했습니다.

여기에 이미지 설명 입력