百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Py Launcher——多版本python共存推荐使用方式

bigegpt 2024-10-12 06:00 14 浏览

现在是AI盛行的时代,python语言作为AI第一语言,成为时代的宠儿。AI行业发展迅速,不断推陈出新,不同应用对python环境的要求也变化很快,为运行不同程序,需要不同环境。同一台计算机上共存多个版本python,管理维护让人头大。

本文将介绍用Py Launcher来运行python程序,能在不同版本的环境间切换自如。不同于网上打补丁的维护方式,Py Launcher是目前官方推荐的方式。


实验目的,同机器用不同版本的python,建立各自版本的虚拟环境,便于不同程序的依赖使用。


安装python

安装python的选项,就有Py Launcher的选择,另外选择为所有用户安装,将

在C:\Windows中添加py.exe文件。在此目录中可以建立py.ini文件,内容为(举例):

[defaults]
python=3.10

则此机器默认的python版本为3.10。

另外,安装python时,不建议添加到PATH路径。以后全由py laucher维护。

py launcher 命令介绍

py -h  可以显示帮助信息

py [launcher-args] [python-args] [script [script-args]]
比较有用的命令参数:
py --list       显示所有安装的python列表
py  --list-paths   列出python各自的路径
py  -版本号    python参数       python脚本   脚本参数       【参数比较复杂,看下面实例容易理解】

下面就演示用py分别建立python 3.9、python 3.10版本的虚拟环境。

多版本虚拟环境建立

本实验将在E:\test目录中建立两个python虚拟环境:v39 、v310。

实验程序E:\test\hello.py,演示用py调用不同虚拟环境。

import sys
print(sys.version)

建立后的v39、v310目录,就是两个python版本的虚拟环境。下面通过hello.py脚本,来说明py建立的环境与对应的python版本对应。命令行下,进入test目录,运行命令:

v310\Scripts\activate,激活v310虚拟环境。

运行脚本: py hello.py

同样激活v39环境,运行:py hello.py

这就意味着py launcher建立的是对应指定版本的环境。以后再运行python脚本,首推:

py xx.py 方式,而不是传统的 python xx.py。在不同版本间,不会像网上介绍的改文件名,打补丁方式。


关于虚拟环境的一点备忘

虚拟环境,可以看做是在计算机python(Base)上,建立的一个隔离安全区。在激活此虚拟环境后,操作被限定在当前虚拟运行环境中。

建立的虚拟环境,内部结构都是一样的,其中有一个pyvenv.cfg文件,记录了一些环境配置信息。

home = C:\python\python3106    【本虚拟环境的基础python】
include-system-site-packages = false   【是否可以使用虚拟环境外,基础python中安装的包。
                                                                   此方式破坏了虚拟系统隔离性。】
version = 3.10.6                           

建立虚拟环境的语法为:py -m venv [参数] 虚拟环境目录名

这里把参数说明一下:

-h                                        帮助 
--system-site-packages     把配置文件中的对应项设置为 true
--clear                            清空虚拟目录中内容,重新初始到新环境
--upgrade                     如果虚拟环境对应的python版本升级了,可用此升级环境中python版本
 --upgrade-deps          更新环境中核心,如pip /setuptools到最新版
--symlinks   --copies     这两个选项,选择一种。创建虚拟环境时,采取文件符号链接,
                                            还是拷贝文件方式。windows下默认是拷贝方式。

相关推荐

Linux 命令 ncftp(文件传输)——想玩转linux就请一直看下去

我是IT悟道,点击右上方“关注”,每天分享IT、科技、数码方面的干货。Linuxncftp命令Linux命令大全Linuxncftp命令用于传输文件。FTP让用户得以下载存放于服务器主机的文件,...

玩转 Linux 之:磁盘分区、挂载知多少?

今天来聊聊linux下磁盘分区、挂载的问题,篇幅所限,不会聊的太底层,纯当科普!!1、Linux分区简介1.1主分区vs扩展分区硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两...

一文带你了解 Linux 文件权限,从基础到高级

在Linux中,每个文件和目录都关联了一组权限,定义了不同用户对其的访问能力。权限分为三类:读取(read,r)、写入(write,w)和执行(execute,x),分别用字母r、w、x...

Linux 使用 socat 让云服务器作为跳板机的方法

概念三台机器:客户端A(192.168.1.11)服务器B(192.168.1.88)跳板机C(192.168.1.32)实现A与B的双向数据传输,本该这样:A<...

Linux启动流程之ROM-CODE(linux启动详解)

1.从哪里开始?下图是AM335X核心板和功能框图:AM335X核心板的存储信息如下:AM335X核心板运行linux系统,在这里提出一个问题:上电后指令从哪里开始执行?DDRorEMMC?2....

「Linux」——select和epoll详解(linux epoll详解)

select和epoll详解select和epoll的区别(面试常考)select一、什么是select1.select函数原型2.参数解释3.参数timeout取值4.返回值5.监控原理二、sele...

Linux中使用输入输出和错误重定向, 赶紧收藏!

Linux中的每个进程都提供三个打开的文件(通常称为文件描述符),分别是标准的输入、输出和错误文件。StandardInput是键盘,抽象为文件,使编写脚本和程序更容易。StandardOut...

「正点原子Linux连载」第七十一章Linux 4G通信实验

1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更多资料:正点原子第七十一章Linux4G通信实验前面我们学习了如何在Li...

LSM Oops 内存错误根因分析与解决

作者简介:吴文涵,图形算法出身,同时热爱linux内核开发的工程师,喜欢推导并乐于分享。版权声明:本文最先发表于“泰晓科技”微信公众号,欢迎转载,转载时请在文章的开头保留本声明。Oops是...

连你家电器的算力都不放过,新发现Linux恶意软件用IoT设备挖矿

萧箫发自凹非寺量子位|公众号QbitAI继电脑和手机后,挖矿病毒也盯上了IoT设备。无论是智能冰箱、彩电还是洗衣机,但凡有点算力的(物联网和端侧)设备都可能被这种病毒感染,用于挖掘加密货币等...

Linux-AT命令干货分享,还不赶紧收藏!

苹果iOS 26锁屏大升级:更个性更沉浸 有五大亮点

【CNMO科技消息】CNMO注意到,苹果近日在iOS26开发者预览版中推出了多项锁屏界面创新功能,可以大幅提升用户个性化设置与操作便捷性。这些更新不仅优化了视觉体验,还通过技术手段增强了交互效率,为...

福彩 3D 第 2025178 期:心水407 !大小奇偶双平衡 + 跨度适配,速收藏

福彩3D第2025178期:497后和值回落!五维分析+形态调整策略福彩3D2025177期开奖号码497,组六形态,大小比2:1,奇偶比1:2,和值20,跨度5。面对大...

一加 Ace5 至尊版手机首发适配和平精英手游

7月8日消息,据用户反馈,一加Ace5至尊版手机开启新版本系统推送,升级包大小约6.83MB、版本号为15.0.2.215(CN01),适配了腾讯《和平精英》手游144Hz高刷。IT...

外媒称苹果今年秋季将推出超15款新品 远不止iPhone 17

【CNMO科技消息】2025年已过半程,有外媒指出苹果计划在今年秋季推出超过15款新产品,涵盖iPhone革新、M5芯片设备迭代、可穿戴设备升级及智能家居布局等。苹果1.iPhone17系列:产品...