linux自带python吗

linux自带python吗,第1张

Linux中自带Python,因为有很多 *** 作系统本身的需要,都要用到Python的。相关推荐:《Python教程》比如Linux的软件升级工具,红帽系的yum,Debain/Ubuntu系的apt-get,都是基于Python的。而且它们的版本要保持原始的一致,就算是升级Python版本,也要留意老版本的那些脚本还能正常使用。可以说,在Linux/Unix的各种脚本语言中,除系统本身自带的各种shell外,另一个就是Python语言用得最多。一些系统如FreeBSD还自带了Rubby。

本篇介绍如何让linux在不激活任何环境时,调用python命令直接使用到conda的某个子环境。

首先说明本篇文章的工作原由,以及踩过的坑。

在之前的工作中,一般进行python开发都会使用conda进行包管理,以达到隔离多个环境的目的。例如:

问题来了,在一些场景中,外部程序需要调用服务器上的api,又无法做出 conda activate 的命令,命令是直接使用 python xxx.py ,这时候只能使用linux自带的python命令,或者conda的base环境的python命令。所以需要将环境搭建在linux的python或者conda的base。搭建过程中,遇到的问题来自两个方面:

解决方法:将linux默认的python做软链接,链接到conda的子环境。

创建环境: conda create -n child_env python=3.6

切换环境: conda activate child_env

安装pytorch: conda install pytorch torchvision cudatoolkit=10.0

安装tensorflow: conda install tensorflow-gpu

安装其他包: conda install xxx,xxx,...

先将老的链接备份: mv /usr/bin/python /usr/bin/python22

再做链接: ln -s /root/anaconda3/envs/child_env/bin/python3 /usr/bin/python

第一个路径需要改成自己的anaconda路径,child_env改成自己的环境名,第二个路径不用改。

先关掉conda环境: conda deactivate

再运行: python xxx.py

用这个方法,虽然解决了直接调用python命令的问题。但是引入了新的问题。

更换默认python版本

摘要: Linux , Python

工作中需要频繁使用到一个字符串的md5,因此编写一个md5命令工具,输入字符串直接得到输出,并且命令支持参数设置,比如是否事先格式化,指定不同参数可以支持多功能输出, *** 作步骤如下

直接vim一个脚本,脚本名md5不需要.py后缀,这样更像一个命令,注意在脚本第一行引入python解释器,并设置utf-8编码

其中-f支持先格式化再得到md5,-l支持传入多个字符串用空格分开

赋予可执行权限

测试是否符合要求

直接放置到 /usr/local/bin 目录下(需要root权限)

也可以使用软连接的方式,推荐使用绝对路径

之后就可以在环境变量中直接使用到md5命令

shebang :中文翻译“释伴”,由 #! 开头的字符串,出现在文本文件的 第一行 。类UNIX *** 作系统的程序载入器会分析shebang后的内容,将这些内容作为解释命令,并调用该指令,并将载有 shebang的文件路径作为该解释器 的参数

比如 #!/bin/bash 就是使用/bin/bash作为解释器运行脚本,如果以Python作为解释器运行脚本先找到Python解释器的路径,一般在Linux自带的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行为 # coding=utf-8 用来指定编码格式,否则Python2输出中文乱码

对于自定义脚本,推荐放置在 /usr/local/bin 目录,有多个可执行文件目录在环境变量中,区别如下:

/bin : 包含二进制可执行文件,为系统最基本的命令,如ls等

/sbin : 与/bin 类似,不同之处是其为root权限命令文件

/usr/bin : 系统预装可执行文件,会随着系统升级而改变

/usr/sbin : 同上,不同之处是其为root权限运用

/usr/local/bin : 三级目录,用户自己的可执行文件,系统不管理

/usr/local/sbin : root权限用户程序


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6203806.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存