WSL2, Windows, Python 및 노드: 일부 충돌 해결

2138 단어
최근에 저는 WSL(특히 WSL2)의 Windows에서 Python과 Node로 작업해 왔으며 두 시스템에 Python과 Node를 설치했을 때 WSL에서 몇 가지 불편한 점을 발견했습니다. 예를 들어 WSL에 노드를 설치하지 않았더라도 WSL에서 노드를 실행할 때 일부 노드 패키지가 발견되었습니다. 그런 일이 일어났을 때, 공연은 끔찍했습니다.

그 이유는 기본적으로 Windows는 Windows 경로 환경 변수를 WSL 경로에 주입하기 때문입니다.

Node의 경우 nvm을 사용하여 거의 모든 문제를 해결할 수 있었지만 Python에서는 더 많은 문제가 있었기 때문에 소스에서 바로 문제를 해결하기로 결정했습니다.

먼저 WSL에 Windows 경로를 자동으로 추가하지 않도록 WSL에 지시합니다. 이 작업은 Advanced settings configuration in WSL에 설명된 대로 wsl.conf 파일을 통해 수행할 수 있습니다.

파일을 편집(또는 아직 없는 경우 생성):

sudo nano /etc/wsl.conf


그런 다음 interop 설정을 추가합니다.

[interop]
appendWindowsPath = false


그런 다음 모든 WSL 창을 닫고 Powershell 또는 명령 프롬프트를 열고 WSL 하위 시스템이 종료되었는지 확인합니다.

wsl --shutdown 


이제 WSL 세션을 다시 열고 경로에 Windows 경로가 자동으로 포함되지 않는지 확인할 수 있습니다.

echo $PATH | tr ":" "\n"


두 번째이자 마지막 단계는 WSL과 함께 사용하려는 Windows 도구(예: VS Code)에 대한 경로를 수동으로 추가하는 것입니다. 저는 ZSH를 사용하고 있으므로 .zshrc 파일을 업데이트하고 VS Code 경로를 추가해야 했습니다.

export PATH="$PATH:/mnt/c/Users/damauri/AppData/Local/Programs/Microsoft VS Code/bin"


완료. 더 이상 충돌이나 느린 성능은 없지만 여전히 WSL에서 Windows 도구를 사용할 수 있습니다. 완벽한!

좋은 웹페이지 즐겨찾기