如何自定义python程序的名称(Linux平台)-软连接的使用

传统做法,所有的程序都叫 python

平时实验室的多个科研团队进行人工智能相关实验的过程中,比较经典的做法是:

	# 1. 激活conda环境
	conda activate your_env_name
	# 2. 调用环境内的python解释器运行程序
	python main.py --参数名称1 参数值1 ...

这样做存在的问题是:

  • linux命令ps -ef或者 nvidia-smi信息面板显示的所有程序都叫做 python
  • 如果遇到恶意程序,比如挖矿病毒调用环境挖矿,程序名称很大概率也叫 python,多个科研团队共用服务器进行试验时,因为沟通不畅可能会让大家都误以为是其他团队在跑实验,从而让挖矿病毒有了可乘之机

我的做法,也即本文的标题,如何自定义运行的python程序名称,答案是使用软连接

	# 1. 提前生成软连接 
	ln -s /home/[user]/miniconda3/envs/[env_name]/bin/python ~/CustomName
	# ln -s 表示生成软连接 
	# /home/[user]/miniconda3/envs/[env_name]/bin/python 表示conda中某环境的python解释器路径
	#		其中 [user] [env_name] 根据自己实际服务器环境配置而定
	# ~/CustomName 表示生成的软连接名称,~/ 表示主目录,CustomName 表示具体的软连接名称
	
	# 2.1 ll命令软连接成功建立
	ll ~
	# 会看到 ~/CustomName->/home/[user]/miniconda3/envs/[env_name]/bin/python
	
	# 2.2 直接在终端输入软连接,会进入python解释器环境(这里是无需激活环境的哦)(下面有图)
	~/CustomName

	
  • 直接启动软连接的效果,连激活环境都省了
    如何自定义python程序的名称(Linux平台)-软连接的使用_第1张图片

用软连接跑实验的流程

	# 直接用软连接去运行py文件即可(无需激活环境,任意路径下均可调用软连接)
	~/CustomName main.py --参数名1 参数值1 ...

如何自定义python程序的名称(Linux平台)-软连接的使用_第2张图片

注意点
  • 软连接最好生成在主目录,这样能避免软连接过长导致nvidia-smi面板显示不完整
  • 软连接相比于硬连接更好用,适用范围更大(比如有挂载移动硬盘等场景,即跨文件系统)

你可能感兴趣的:(python,linux,开发语言)