如何在电脑开机时自动执行命令启动指定PyCharm项目
开机自动启动PyCharm项目并执行启动命令的可行方案
完全可以实现开机自动完成整套操作,不需要手动介入,以下是不同操作系统的具体实现方案:
通用思路
- 如果你不需要保留PyCharm界面调试,建议直接调用项目对应虚拟环境的Python解释器执行启动命令,比启动完整PyCharm实例占资源少得多,稳定性也更高
- 如果你确实需要保留PyCharm窗口方便随时调试,也可以通过脚本实现「启动PyCharm打开指定项目+自动执行启动命令」的全流程
Windows系统方案
方案1:无PyCharm窗口启动(推荐生产环境用)
- 分别给两个项目编写启动批处理脚本,第一个项目存为
start_trade1.bat,内容替换为你自己的路径和启动命令即可:
@echo off :: 切换到第一个项目的根目录(替换为你自己的项目路径) cd /d "C:\Users\xxx\projects\trade_project1" :: 激活项目对应的虚拟环境,执行启动命令 call .\venv\Scripts\activate.bat python 你的启动脚本名.py 你的自定义启动参数
第二个项目同理存为start_trade2.bat,修改对应路径和命令即可。
2. 按Win+R输入shell:startup打开开机启动文件夹,把两个bat文件的快捷方式放到这个文件夹里,开机就会自动执行。
方案2:需要启动PyCharm窗口(调试场景用)
把批处理脚本的内容替换为以下内容即可,PyCharm路径替换为你自己的安装路径:
@echo off :: 启动第一个PyCharm实例打开对应项目 start "" "C:\Program Files\JetBrains\PyCharm 2023.x\bin\pycharm64.exe" "C:\Users\xxx\projects\trade_project1" :: 等待10秒等PyCharm加载完成,可根据自己电脑性能调整等待时间 timeout /t 10 /nobreak :: 调用PyCharm命令行工具自动执行启动命令 start "" "C:\Program Files\JetBrains\PyCharm 2023.x\bin\pycharm64.exe" run "C:\Users\xxx\projects\trade_project1\你的启动脚本名.py" --interpreter "C:\Users\xxx\projects\trade_project1\venv\Scripts\python.exe"
第二个项目同理写对应的脚本,放到开机启动文件夹即可。
Mac/Linux系统方案
方案1:无PyCharm窗口启动(推荐生产环境用)
- 给两个项目分别编写shell启动脚本,第一个项目存为
start_trade1.sh,执行chmod +x start_trade1.sh给脚本加执行权限:
#!/bin/bash # 切换到第一个项目根目录(替换为你自己的路径) cd /home/xxx/projects/trade_project1 # 激活虚拟环境执行启动命令 source ./venv/bin/activate python 你的启动脚本名.py 你的自定义启动参数
第二个项目同理编写start_trade2.sh,加执行权限即可。
2. 开机自启设置:
- Mac:打开「系统设置」-「通用」-「登录项」,把两个sh脚本添加到登录启动项列表即可
- Linux(以Ubuntu为例):可以把脚本的绝对路径写到
/etc/rc.local文件里,或者配置systemd服务,稳定性更高。
方案2:需要启动PyCharm窗口(调试场景用)
把shell脚本内容替换为以下内容:
#!/bin/bash # 启动PyCharm打开第一个项目 open -a "PyCharm" /home/xxx/projects/trade_project1 # 等待10秒等PyCharm加载完成,可自行调整时间 sleep 10 # 自动执行启动命令 pycharm run /home/xxx/projects/trade_project1/你的启动脚本名.py --interpreter /home/xxx/projects/trade_project1/venv/bin/python
第二个项目同理编写脚本,添加到开机启动项即可。
注意事项
- 所有路径都要使用绝对路径,避免相对路径找不到文件的问题
- 注意两个项目的虚拟环境不要混用,对应到各自项目的虚拟环境路径即可
- 如果你的启动命令依赖其他开机启动的服务(比如数据库、代理工具),可以适当增加脚本里的等待时间,或者加简单的依赖检查逻辑。
内容的提问来源于stack exchange,提问作者Nes Elm
相关产品推荐
相关产品推荐

