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 aliases
Windows 검색 프롬프트에 입력하고 Python의 저장소 버전을 모두 비활성화하는 것입니다.
두 번째 부분 만 수행하면 될 수도 있지만 내 시스템에서 두 가지를 모두 변경했으며 이제 모든 것이 정상으로 돌아 왔습니다.
답변
연구
의 모든 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
파일은 실제로 어딘가에있는 파일을 가리키는 자리 표시 자이며 C:\Program Files\WindowsApps
권한이 완전히 거부됩니다.
이 문제를 복제하여 진술 한 내용이 올바른 방향으로 진행된 것 같습니다.
“그들은 배포 방법을 권한으로 망쳐 놓는 것에 대해 정말로 생각하지 않은 것 같습니다!”
출처 : Windows에서 Git Bash에 파일 린트를 설치할 수 없음 (Windows 스토어)
WindowsApps 배포 방법으로 인해 권한이 엉망이됩니다.
흥미롭게도 “Users”그룹은 특정 사용자뿐만 아니라 파일을 읽고 실행할 수 있지만 Administrators 그룹은 엄청나게 헤아릴 수없는 이유로 폴더 내용 만 나열 할 수 있습니다. 그리고 파일 탐색기에서 폴더에 액세스하려고 할 때 폴더 내용을 표시하는 것도 거부하므로 그에 대해 이상한 점이 있습니다.
흥미롭게도 python
CMD에서 실행 해도 잘 작동 하지만 “WindowsApps”폴더가 상주하는 디렉터리에있는 파일을 나열 할 때 표시되지 않으며 폴더로 이동하려고하면 “Permission denied”오류가 발생합니다.
권한을 변경하려면 먼저 소유자를 변경해야하므로 소유자를 Administrators 그룹으로 변경했습니다. 그 후 관리자 그룹에 대한 권한을 모든 권한을 포함하도록 변경하려고 시도했지만 “액세스가 거부되었습니다”(마이크로 $ ucks, 변경하려고합니다!) 때문에이를 변경할 수 없습니다.
이 권한 오류는 너무 많은 파일에서 발생하여 Alt + C를 사용하여 반복 메시지에서 “계속”을 빠르게 클릭했지만 여전히 너무 오래 걸렸기 때문에 프로세스를 취소하여 다음 경고 메시지가 나타납니다.
이제 TrustedInstaller 사용자를 WindowsApps 폴더의 소유자로 다시 설정할 수 없습니다. 사용자 / 그룹 / 기본 제공 보안 원칙 / 기타 개체 목록에 표시되지 않기 때문입니다. *
* 실제로이 자습서 에 따라 NT Service\TrustedInstaller
개체 이름 텍스트 상자 에 입력하여 소유자를 TrustedInstaller로 다시 바꿀 수 있습니다 .
해결책
해결책이 없습니다. 기본적으로 우리는 완전히 망가졌습니다. 품격있는 움직임, 마이크로 소프트.
답변
이것은 git-bash의 한계로 보입니다. 사용 권장 사항이 winpty python.exe
저에게 효과적이었습니다. 추가 정보 는 git bash의 명령 줄에서 작동하지 않는 Python을 참조 하세요.
답변
이 문제는 너무 흔해서 여전히 지속되지 않습니다. 그리고 대부분의 답변과 지침은이를 해결하지 못합니다. Windows 10에서 수행 할 작업은 다음과 같습니다.
-
environment variables
시작 검색 창에 입력 하고 시스템 환경 변수 편집을 엽니 다 . -
환경 변수 …를 클릭하십시오 .
-
시스템 변수 섹션에서 키로 변수를 찾아
Path
두 번 클릭합니다. -
파이썬 파일을 가리키는 경로를 찾으십시오. 아마 없을 것입니다. 있는 경우 선택하여 삭제하십시오.
-
Python 실행 파일의 경로로 설정된 새 변수를 만듭니다. 일반적으로 이것은입니다
C:\Users\[YOUR USERNAME HERE]\AppData\Local\Programs\Python\Python38
. 파일 탐색기를 통해 확인하십시오.참고 :
AppData
가 보이지 않으면 숨겨진 항목보기를 활성화 하지 않았기 때문입니다 .보기 탭을 클릭하고 숨겨진 항목 확인란을 선택합니다. -
Scripts
디렉토리를 가리키는 다른 변수를 만듭니다 . 일반적으로C:\Users\[YOUR USERNAME HERE]\AppData\Local\Programs\Python\Scripts
. -
터미널 및 시도 입력을 다시 시작
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)에서 원활하게 실행됩니다. 적어도 일시적인 해결책이 될 수 있습니다.