PowerShell의 가상 환경?
PowerShell에서 가상 환경을 사용할 때 문제가 있는 것 같습니다.
PowerShell에서 환경을 활성화하려고 하면 다음과 같이
env/scripts/activate
아무 일도 일어나지 않습니다.(셸 프롬프트와 PATH env. 변수가 변경되었어야 함)
PowerShell이 활성화를 실행하기 위해 새로운 cmd. 프로세스를 생성하는 것이 문제인 것 같습니다.이렇게 변화를 렌더링하는 배트activate.bat완료된 후 셸 데드에 작용합니다.
이 문제에 대한 해결 방법이 있습니까?(나는 고수합니다.cmd.exe
최신 버전의 가상 환경은 PowerShell을 즉시 지원합니다.
실행만 하면 됩니다.
Scripts\activate.ps1
대신에
Scripts\activate
는 후가실할것다니입행을 실행할 입니다.activate.batPowerShell에서 작동하지 않습니다.
저의 원래 대답은 이제 구식입니다.이제, 그냥 사용하세요.activate.ps1)activate.bat를 클릭하여 Powershell 환경에서 활성화합니다.
원답:
다음은 환경 변수를 지속적으로 수정하는 배치 파일을 실행할 수 있는 Powershell 스크립트가 포함된 게시물입니다.이 스크립트는 모든 환경 변수 변경 사항을 호출하는 PowerShell 환경으로 다시 전파합니다.
다음 명령을 실행합니다.
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
다음 순서:
./env/Scripts/activate.ps1
이상입니다
간단한 해결 방법은 cmd를 호출한 다음 cmd 세션 내에서 activate.bat을 실행하는 것입니다.예:
PS C:\my_cool_env\Scripts> cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\my_cool_env\Scripts>activate.bat
(my_cool_env) C:\my_cool_env\Scripts>
가상 환경 폴더의 스크립트 디렉토리 내에는 명령을 실행하는 위치에 따라 사용할 수 있는 몇 가지 활성화 스크립트가 있습니다.윈도우즈 PowerShell에서 가상 환경을 활성화하려면 다음 명령을 사용하십시오.
. .\env\Scripts\activate.ps1
시스템에서 활성화 스크립트가 비활성화되었다는 오류가 발생하면 먼저 시스템에서 실행 정책 변경을 실행해야 합니다.이 작업은 관리자로서 수행해야 합니다.
작업 방법:
PowerShell 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
합니다.Set-ExecutionPolicy Unrestricted
명령을 다시 합니다.. .\env\Scripts\activate.ps1
사용해 보십시오.. .\env\Scripts\activate.ps1과
이 오류는 사용자가 승인하지 않으면 시스템에서 스크립트를 실행할 수 없는 보안 조치로 인해 발생합니다.관리 권한이 있는 파워셸을 열고(메인 메뉴에서 파워셸을 검색하고 상황에 맞는 메뉴에서 관리자 권한으로 실행을 선택) 다음과 같이 입력할 수 있습니다.
set-message 정책 원격 서명
자세한 내용: http://www.faqforge.com/windows/windows-powershell-running-scripts-is-disabled-on-this-system/
Windows 사용자
파워셸에서:
- Powershell을 관리자로 실행
- 명령을
set-executionpolicy remotesigned - 메시지에 동의합니다.
마지막으로, 실행
your_virtualenv_name\Scripts\activate.ps1
대신에
your_virtualenv_name\Scripts\activate.bat
CMD Just run에서 다음을 수행합니다.
your_virtualenv_name\Scripts\activate.bat
Windows PowerShell의 경우 venv/Scripts 폴더에서 다음을 입력해야 합니다.
. ./activate
나도 그런 문제가 있었어요! 그리고 마침내 우리가 창문에서 무엇을 해야 하는지 알아냈어요...
다음 단계를 수행합니다.
창의 검색 표시줄에 powershell을 입력한 다음 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택합니다.
(문제가 있는 경우 이 항목을 확인하십시오.)
powershell에서 다음 명령을 실행합니다. Set-ExecutionPolicy Unlimited
활성화 명령을 다시 실행합니다..\\env\Scripts\activate.ps1
(정확한 명령만 실행하면 됩니다! 환경 이름에 주의하십시오.)
그게 다야!:)
두 가지 제안만 더 하면 됩니다.
보안 정책을 약화시키는 것은 항상 문제가 있기 때문에 Powershell을 위해 최소한의 방법으로 실행하는 것이 좋습니다. Powershell을 관리자가 아닌 가상 환경 기능을 사용하려는 사용자로 호출하십시오.set-execution policy -execution policy unlimited -scope current user를 입력합니다.이렇게 하면 전체 시스템이 아닌 한 명의 사용자에 대해서만 정책이 변경됩니다.
두 번째로 "regisf/virtualenwrapper-powershell" 소스를 github에서 다운로드하는 것이 좋습니다.다운로드 후 zip 파일을 로컬 디렉토리에 압축 해제하고 "Install.ps1" 파일을 실행합니다.이렇게 하면 Powershell 프로파일이 시스템에서 영구적으로 확장되므로 "work on"을 포함한 모든 "virtualenvrapper-win" 명령을 사용할 수 있습니다.그런 다음 가상 환경과 관련된 Powershell 및 Commandshell의 동작에 차이가 없음을 알게 됩니다.
먼저 스크립트를 실행할 수 있는지 확인합니다.활성화하지 않을 경우.이제 powershell pip install virtualenv(시스템에 virtualenv가 설치되어 있지 않은 경우) python-m virtualenvienv(여기서 "myenv"는 환경의 이름)를 엽니다.
# 생성한 가상 환경 활성화: myenv/Scripts/Activate.ps1
#가상 환경 확인: 비활성화
저는 개발 서버의 활성화와 시작을 처리하기 위해 이 간단한 스크립트를 작성했습니다.
$ep = Get-ExecutionPolicy
if ($ep -eq 'RemoteSigned') {
$root = "C:\Users\ALeven\OneDrive\!code_projects\!django_projects\"
$test = Read-Host -Prompt 'Would you like to activate the python environment? y/n'
if ($test -eq 'y') {
$activatestr = ($root + "\work_venv\Scripts\Activate.ps1")
& $activatestr
}
$test = Read-Host -Prompt 'Would you like to run the python server? y/n'
if ($test -eq 'y') {
$whichserver = Read-Host -Prompt 'Enter the name of the project.'
$path = ($root + $whichserver)
$runserverstr = ($path + "\manage.py")
python.exe $runserverstr runserver
}
} else {
Write-host "Execution Policy does not allow this script to run properly"
Write-host "If you have the proper permissions,"
Write-Host "Please close powershell,"
Write-host "then right click the powershell icon and run as administrator"
Write-host "Once in the powershell environment, execute the following:"
Write-host "Set-ExecutionPolicy RemoteSigned -Force"
}
즐거운 시간 되세요.
저는 그것을 활성화하기 위해 작은 대본을 썼습니다.
# Don't forget to change execution policies
# Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
# More info https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
if (Test-Path env:VIRTUAL_ENV) {
deactivate
}
$env = .\venv\Scripts\activate.ps1
# use $env to set variables, for instance $env:FLASK_APP = "main.py"
PowerShell 확장자가 있는 파일을 저장해야 합니다..ps1.
Windows Power 셸은 일반 명령 프롬프트 셸보다 강력하고 "터보 충전"된 것으로 간주됩니다.VScode(Visual Studio Code)를 사용하는 경우 PowerShell을 실행하여 Python Virtual Environment를 시작하면 아래와 같이 특히 Windows 10에서 오류가 발생할 수 있습니다.
\활성화 : 파일 C:\users\titus\django1\스크립트\이 시스템에서 실행 중인 스크립트를 사용할 수 없으므로 Activate.ps1을 로드할 수 없습니다.자세한 내용은 다음 정보를 참조하십시오.실행_정책(https:/go.microsoft.com/fwlink/ ?LinkID=135170).라인:1 문자:1
이 문제를 해결하기 위해 다음을 수행할 수 있습니다.
- 창 설정으로 이동
- 업데이트 및 보안 열기
- 개발자용을 선택합니다.
- 개발자 모드 사용
- 모든 조건에 동의합니다.
항상 감사합니다.
Windows PowerShell은 기본적으로 현재 위치에서 명령을 로드하지 않습니다.만약 당신이 activate.ps1의 위치에 cd를 넣는다면,activate.ps1를 반환할 수 있습니다. "'activate'라는 용어는 cmdlet의 이름으로 인식되지 않습니다."
현재 위치에서 activate.ps1을 실행하려면 다음을 시도합니다.
.\activate.ps1
- Windows Powershell 검색
- 마우스 오른쪽 단추를 클릭하고 관리자 권한으로 실행을 선택합니다. 필요한 경우 보안 팝업 확인
- 입력:
Set-ExecutionPolicy Unrestricted입력:A cd.\env\Scripts\activate
10번 창문은 없습니다.CMD virtualenvvv/스크립트/activate.박쥐
언급URL : https://stackoverflow.com/questions/1365081/virtualenv-in-powershell
'programing' 카테고리의 다른 글
| 사용자가 강제 종료한 경우 iOS에서 백그라운드로 앱을 실행합니까? (0) | 2023.05.07 |
|---|---|
| 이클립스에 가장 적합한 JVM 설정은 무엇입니까? (0) | 2023.05.02 |
| Swift를 사용하여 아무 곳이나 터치하여 iOS 키보드 닫기 (0) | 2023.05.02 |
| Postgre에서 제약 조건 이름 업데이트SQL (0) | 2023.05.02 |
| 상수 배열 선언 (0) | 2023.05.02 |