首页 > 其他分享 >win11安装pyenv和pyenv-venv

win11安装pyenv和pyenv-venv

时间:2024-03-28 09:46:13浏览次数:18  
标签:venv ## win pyenv install JavaProgramFiles win11

环境确认

PowerShell 提供了几个不同的执行策略级别,包括:

  • Restricted:不允许任何脚本运行。这是默认的执行策略,为大多数用户提供了安全的起点。
  • AllSigned:只允许运行由受信任的发布者签名的脚本。
  • RemoteSigned:从本地计算机加载的所有脚本都可以运行,但从 Internet 下载的脚本必须签名才能运行。
  • Unrestricted:允许所有脚本运行。
  • Bypass:绕过执行策略,不执行任何脚本块或配置文件。
  • Undefined:没有设置执行策略。
## 查看当前策略
PS C:\Users\xuyuansheng> Get-ExecutionPolicy
RemoteSigned
#设置为可执行本地脚本 
Set-ExecutionPolicy RemoteSigned

官方文档

使用PowerShell安装

安装pyenv-win

这是管理多版本python的工具

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "$HOME/install-pyenv-win.ps1";  

& "$HOME/install-pyenv-win.ps1"

常用命令

# 查看版本
pyenv --version
# 查询所有可安装python版本
pyenv install -l
# 设置全局python 版本
pyenv global <version>

安装pyenv-venv

这是管理虚拟环境的工具

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win-venv/main/bin/install-pyenv-win-venv.ps1" -OutFile "$HOME\install-pyenv-win-venv.ps1";

&"$HOME\install-pyenv-win-venv.ps1"

常用命令

# 查看已经安装的环境
pyenv list envs/python
# 安装虚拟环境
pyenv install  <python-version> <env-name>

缺点:

  • 软件安装的路径都在c盘,所有下载的python文件和虚拟环境文件都在c盘,会使用c盘空间迅速消耗完

使用Git安装(自定义安装)

下载文件

cd d:/JavaProgramFiles
git clone https://github.com/pyenv-win/pyenv-win.git
cd pyenv-win
git clone https://github.com/pyenv-win/pyenv-win-venv.git
## 最终的目录结构
##  D:\JavaProgramFiles\pyenv-win\pyenv-win  pyenv的家目录
##  D:\JavaProgramFiles\pyenv-win\pyenv-win-venv  pyenv-venv的家目录

配置环境变量

## 新增环境变量
PYENV            D:\JavaProgramFiles\pyenv-win\pyenv-win\
PYENV_HOME       D:\JavaProgramFiles\pyenv-win\pyenv-win\
PYENV_ROOT       D:\JavaProgramFiles\pyenv-win\pyenv-win\
PYENV_VENV  D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\
## 环境变量最后的 \ 一定不能丢,不然会出问题

配置PATH路径

##  添加如下三个项
%PYENV%bin
%PYENV%shims
%PYENV_VENV%bin

验证pyenv

## 验证pyenv 
pyenv install -l
pyenv versions

安装python

$ pyenv install 3.11.7
## 
$ pyenv install 3.11.7
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.11.7 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.11.7/python-3.11.7-amd64.exe
:: [Downloading] ::  To   D:\JavaProgramFiles\pyenv-win\pyenv-win\install_cache\python-3.11.7-amd64.exe

## 但是国内一般下载不下来,这时候我们可以使用国内镜像手动下载下来  
##  https://mirrors.huaweicloud.com/python/3.11.7/
## 然后放到 D:\JavaProgramFiles\pyenv-win\pyenv-win\install_cache 目录中 
## 最后再执行  pyenv install 3.11.7 
$ pyenv install 3.11.7
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Installing] ::  3.11.7 ...
:: [Info] :: completed! 3.11.7

验证venv

## 验证pyenv-venv
pyenv-venv  
pyenv-venv list envs

问题

## 会提示找不到路径,但是实际上都是正常配置的
$ pyenv-venv
The system cannot find the path specified.

$ where pyenv-venv
D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin\pyenv-venv
D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin\pyenv-venv.bat

解决

原因:pyenv-venv 这个脚本是通过调用其他脚本运行的,但是另外的脚本内,路径又是写死的

  1. 备份文件 D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin 这个目录下的脚本文件全部备份一下

  2. 打开 pyenv-venv 脚本文件,发现它调用的是 pyenv-venv.bat

    #!/bin/sh
    MSYS2_ARG_CONV_EXCL="/C" exec cmd /C call "$(cygpath -wa "$(dirname "$0")")/pyenv-venv.bat" "$@"; # should work on both cygwin and git-bash/mingw
    
  3. 打开 pyenv-venv.bat 脚本文件,发现它调用的是 pyenv-win-venv.bat ,并且目录还是写死的从 %USERPROFILE% 目录下查找

    @ECHO OFF
    @REM Alias for pyenv-win-venv.bat
    "%USERPROFILE%\.pyenv-win-venv\bin\pyenv-win-venv.bat" %*
    
    ## 修改查找路径为如下
    "D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin\pyenv-win-venv.bat" %*
    
  4. 打开 pyenv-win-venv.bat ,还是写死路径

    @ECHO OFF
    powershell -File "%USERPROFILE%\.pyenv-win-venv\bin\pyenv-win-venv.ps1" %*
    
    ## 修改查找路径为如下
    powershell -File  "D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin\pyenv-win-venv.ps1" %*
    
  5. 打开 pyenv-win-venv.ps1

    ## 第29行,它路径还是写死的 
    $app_dir = "$HOME\.pyenv-win-venv"
    ## 然后全局搜一下 $HOME 发现有三处 
    ## 修改 
    ## 在29行前面添加一个变量  
    $HOME11 = "D:\JavaProgramFiles\pyenv-win"
    ## 原来出现 $HOME 处作出修改 $HOME -->$HOME11  \.pyenv-win-venv --> \pyenv-win-venv
    $app_dir = "$HOME11\pyenv-win-venv"
    ## 208行 和  209行
                Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win-venv/main/bin/install-pyenv-win-venv.ps1" -OutFile "$HOME11\install-pyenv-win-venv.ps1";
                &"$HOME11\install-pyenv-win-venv.ps1"
    
  6. 知识点

    ## 下面这个指定可以打印日志  Write-Host
    Write-Host "Installing env: $subcommand3 using Python v$subcommand2" 
    
    ## 可以在调用ps1脚本时添加 -Debug 开启debug日志 
    ## 如: powershell -File  "D:\JavaProgramFiles\pyenv-win\pyenv-win-venv\bin\pyenv-win-venv.ps1" -Debug %*
    ##  此时,下面这行代码就会输出日志
    Write-Debug-Log "Pyenv Versions Dir: $pyenv_versions_dir"
    

验证修改

## 安装一个虚拟环境
$ pyenv-venv install 3.11.7 env
Installing env: env using Python v3.11.7

标签:venv,##,win,pyenv,install,JavaProgramFiles,win11
From: https://www.cnblogs.com/xysgo/p/18100795

相关文章

  • Win11专业版永久密钥(支持重装)
    Windows11专业版是Windows11的商业版本,专为中小型企业(SMB)和教育机构设计。它提供了一些家庭版中没有的功能,例如:高级安全功能:包括BitLocker加密、WindowsDefender高级威胁防护和WindowsHelloforBusiness。设备管理功能:包括组策略、WindowsUpdateforBusines......
  • win11资源管理器卡死(任务栏应用图标朦胧/系统时间不更新/应用图标点击无响应)
    目录传送门前言一、临时快速解决办法二、永久解决三、其他解决推荐传送门SpringMVC的源码解析(精品)Spring6的源码解析(精品)SpringBoot3框架(精品)MyBatis框架(精品)MyBatis-PlusSpringDataJPASpringCloudNetflixSpringCloudAlibaba(精品)ShiroSpringSecurityjava的......
  • Win11专业工作站版系统密钥
    Windows11专业工作站版是Windows11专业版的加强版本,专为满足高性能工作负载的需求而设计。它在专业版的基础上增加了以下功能:更高的硬件支持:支持多达4个CPU和6TB内存,支持最新的服务器级处理器和图形卡。增强的存储性能:支持ReFS文件系统、RDMA和NVDIMM等......
  • VM创建win11虚拟机
    1.准备文件   通过微软官网下载iso磁盘映像文件https://www.microsoft.com/zh-cn/software-download/windows11 2.虚拟机创建 (1)创建新的虚拟机-导入win11iso文件;   (2)命名并选择安装位置;  (3)选择加密(最好找个是方保存下密码)   ......
  • Win11-鼠标右键菜单恢复为win10显示样式
    先看下win11默认的鼠标右键菜单显示情况看起来没有win10舒服解决方法:cmd命令行执行以下命令reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve 执行后重启Windows资源管理器 执行完以上操作后,效果如下......
  • Win11复现 PointNet ++ 分类任务 || 三维点云深度学习第一篇
    ​Windows11Github上复现PointNet++Classification任务下载代码和安装依赖环境安装git知乎教程Gitclone源码地址:PointNetGithub点击Code复制HTTPS到目标目录shift-右键GitBashHere输入GitClone<url>​​​​​​安装nodejsNode.js—Down......
  • 小白解决Win11(Win10)下.html文件默认打开方式无法修改,绑定为IE浏览器 iexplorer.exe
    解决方法按Win+R键,输入regedit,地址栏输入计算机\HKEY_CLASSES_ROOT\IE.AssocFile.HTM\shell\opennew\command双击(默认),将"C:\ProgramFiles(x86)\internetexplorer\iexplore.exe"%1修改成"你的浏览器的路径"%1(英文的双引号不要去掉)OK了如何查找浏览器的路径打开任......
  • 【NVIDIA JETSON AGX XAVIER】与个人笔记本(win11)建立TCP-IP连接相互传输数据(含源码)
    文章目录前言一、个人笔记本(win11)传输数据到XAVIER(多次传输)1.服务器端代码(个人笔记本win11)2.客户端代码(NVIDIAJETSONAGXXAVIER)二、两端相互传输(以另一种形式解决上一篇博客的问题)1.服务器端代码(个人笔记本win11)2.客户端代码(NVIDIAJETSONAGXXAVIER)三、传输数据中......
  • win11电脑上如何设置微信双开(打开两个微信)
    win11电脑上如何设置微信双开(打开两个微信)2024-3-12找到微信启动地址1.1找到微信的快捷键图标:1.2选中点击鼠标右键1.3复制目标(T)的地址设置启动项bat文件2.1新建一个txt文件2.2重命名为aa2.3显示后缀名2.3修改aa.txt为aa.bat测试下面介绍一下方法。找到微......
  • VMwear虚拟机的安装与使用(Win11)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、前言什么是VMware?VMware与Linux二、VWmear下载与安装(1)安装VMware虚拟机软件。(2)按照指引安装完成后,单击“许可证”按钮输入密钥(3)创建RHEL8.3虚拟机。(4)对虚拟机的RHEL8.3系统做快照和恢......