Skip to content

Python

淘宝Python 镜像 https://registry.npmmirror.com/binary.html?path=python/

下载python 安装包

虚拟环境管理

虽然一般来说使用conda 似乎更方便,不过一般在 linux 平台 都会默认安装python,所以有时候如果只是部署简单的东西其实不太需要安装conda 而是直接用 virtualenv 更方便

pip -V  # 检查是否安装pip


# 激活环境
source venv/bin/activate

# 退出虚拟环境
deactivate

Pypi 设置国内源

清华源help: https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

# 使用清华源升级pip
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip 
# 配置全局源,清华源 同时添加阿里源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.extra-index-url "https://mirrors.aliyun.com/pypi/simple/"

在linux 上系统自带python 但是没有 pip

# 安装python pip
sudo apt install python3-pip

另外 在linux上python 可能是以 python3 为名的程序,在配置源的时候简单在python后面加个3

运行在后台

windows

在 Windows 上,可以使用以下方法将 Python 程序保持在后台运行: 使用 CMD 或 PowerShell 命令行 在 CMD 或 PowerShell 命令行中运行 Python 程序时,可以使用 pythonw.exe 命令替代 python.exe 命令来将程序运行在后台。pythonw.exe 是一个 Windows 特定版本的 Python 解释器,它不会打开控制台窗口。 例如,如果要在后台运行名为 my_script.py 的 Python 程序,则可以使用以下命令:

pythonw.exe my_script.py

可选,将print 输出重定向到文件

pythonw.exe main.py >> log.log
这将在后台运行 my_script.py 程序,而不会打开控制台窗口。 with 代码块中的所有代码。你可以将要在后台运行的 Python 代码放在这里面。要停止守护进程,请使用 daemon.runner.DaemonRunner 类。

linux 运行在后台

nohup python main.py > output.log 2>&1 &

找到后台任务

ps -aux | grep 'python.*main\.py'

结束后台任务

kill <PID>

pipreqs

pip install pipreqs #安装pipreqs  
pipreqs --encoding=utf8 --force # 更新依赖需求  
pyinstaller -D -w -i favicon.ico main.py --add-data "favicon.ico;.\\" --add-data ".\\imgs\\*;.\\imgs"

需提前安装pyinstaller,

安装 pyinstaller

pip install pyinstaller  

打包

如果用Pyinstaller打包成一个可执行文件,那么运行这个文件会有一个解压资源的过程,导致程序启动非常慢;但如果不打包成一个文件似乎又显得十分丑陋;

好在可用使用各种打包软件,之前尝试了压缩软件RAR或2345zip自解压(两者都有报毒问题,遂放弃),最后找到了Inno Setup,很好用!

Inno Setup 教程:https://www.bilibili.com/video/BV15k4y1R7cL

需要注意的是,尽量不去选择C:\Program Files (x86) 这个作为安装目录,因为有权限问题

查找替换以下字段,安装到AppData目录

DefaultDirName={userappdata}\{#MyAppName}  
DisableDirPage=yes  

DisableDirPage=yes //表示不允许用户选择目录