鱼C论坛

 找回密码
 立即注册
查看: 1159|回复: 9

[已解决]如何使py程序能在linux和win中运行

[复制链接]
发表于 2020-4-12 17:17:23 | 显示全部楼层 |阅读模式
18鱼币
本帖最后由 hrp 于 2020-4-12 20:52 编辑

我的 linux 虚拟机自带了一个 Python 2.7 和 一个 Python 3.5,我自己又装了一个 Python 3.8,并且添加了一个 /usr/bin/python38 的软链接。
本来我的程序是在 win10 下写的,可以正常运行。
到了 linux 里,运行 py 代码默认调用的是 Python 2.7,运行不起来,所以我在代码文件第一行添加了一行:#! /usr/bin/python38,指定 Python 版本,代码可以正常运行起来了。

问题:
        回到 win10,同一个程序,直接双击还是在vscode中都运行不起来,提示系统找不到指定的路径,看意思是找不到文件第一行指定的解释器。
        批注 2020-04-12 170321.png
        用 IDLE 编辑,F5 能运行起来。
        只有把第一行 #! /usr/bin/python38 去掉,双击才能运行起来,也能在 vscode 中运行。

        如何才能让程序在 linux 和 win10 中不需要增删第一行 #! /usr/bin/python38 都能正常运行?
最佳答案
2020-4-12 17:17:24
hrp 发表于 2020-4-12 20:55
抱歉,编辑了一下帖子结果帖子不见了
代码挺长的,还分好几个文件,不方便贴出来,可以在这 ...

#! /usr/bin/python38 加这个肯定不能运行啊 因为windows没有这个目录

如果说其他方法 从我的经验上来说没有(个人踩坑经验) 百度上能搜到的全是软连接的方法 包括腾讯 阿里给的方法全是软链接  

本身linux所有发行版都是自带py2.7 如果多个python版本共存 也就只能改软连接名字 而且软链接也不算是动系统吧 4个命令足以

最佳答案

查看完整内容

#! /usr/bin/python38 加这个肯定不能运行啊 因为windows没有这个目录 如果说其他方法 从我的经验上来说没有(个人踩坑经验) 百度上能搜到的全是软连接的方法 包括腾讯 阿里给的方法全是软链接 本身linux所有发行版都是自带py2.7 如果多个python版本共存 也就只能改软连接名字 而且软链接也不算是动系统吧 4个命令足以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 17:17:24 | 显示全部楼层    本楼为最佳答案   
hrp 发表于 2020-4-12 20:55
抱歉,编辑了一下帖子结果帖子不见了
代码挺长的,还分好几个文件,不方便贴出来,可以在这 ...

#! /usr/bin/python38 加这个肯定不能运行啊 因为windows没有这个目录

如果说其他方法 从我的经验上来说没有(个人踩坑经验) 百度上能搜到的全是软连接的方法 包括腾讯 阿里给的方法全是软链接  

本身linux所有发行版都是自带py2.7 如果多个python版本共存 也就只能改软连接名字 而且软链接也不算是动系统吧 4个命令足以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-12 20:18:07 From FishC Mobile | 显示全部楼层
求助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 20:52:01 | 显示全部楼层
你的代码呢 我同样也是跟你一样 windows写完以后在Linux服务器上运行 但是我只要windows写好运行没问题 就直接放到服务器上 没有出现任何问题 也不需要加任何代码
因为Python其中的一个特点就是可移植性 如果你linux做了软连接 比如python 1.py是以python2 运行的 那么你的软连接可以写成 python3  然后python3 1.py  这样调用的就是python3版本的解释器

#! /usr/bin/python38我在linux下从来没有加这个 一样运行的 但是还是希望你能把代码放上来 我帮你看下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-12 20:55:47 | 显示全部楼层
本帖最后由 hrp 于 2020-4-12 21:01 编辑
admintest166 发表于 2020-4-12 20:52
你的代码呢 我同样也是跟你一样 windows写完以后在Linux服务器上运行 但是我只要windows写好运行没问题 就 ...


抱歉,编辑了一下帖子结果帖子不见了
代码挺长的,还分好几个文件,不方便贴出来,可以在这里看:
https://gitee.com/hrpzcf/RenameTool
其实代码没什么问题,就是加了第一行就不能在win下运行,不知道不动系统的情况下,除了linux命令行直接指定以Python3运行,有没有其他办法在代码里指定Python版本以双击运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 21:31:01 | 显示全部楼层
https://blog.csdn.net/qq_30801257/article/details/89711742
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-12 21:56:50 | 显示全部楼层
admintest166 发表于 2020-4-12 21:08
#! /usr/bin/python38 加这个肯定不能运行啊 因为windows没有这个目录

如果说其他方法 从我的经验上来 ...

看来是没法在代码上动手了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 22:00:44 | 显示全部楼层
hrp 发表于 2020-4-12 21:56
看来是没法在代码上动手了

如果你实际开发需要linux下多个python版本也可以考虑一下 virtualenv虚拟环境

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-13 00:32:36 From FishC Mobile | 显示全部楼层
Hello. 发表于 2020-4-12 21:31
https://blog.csdn.net/qq_30801257/article/details/89711742

我不是要打包程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-13 00:36:38 From FishC Mobile | 显示全部楼层
admintest166 发表于 2020-4-12 22:00
如果你实际开发需要linux下多个python版本也可以考虑一下 virtualenv虚拟环境

最后决定不添加第一行注释了,Linux 下用命令python38 运行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 11:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表