标签 python 下的文章

解决python pip 安装报语法错误sys.stderr.write(f“ERROR: {exc}“)

https://bootstrap.pypa.io/ 下载相应python版本的 get-pip.py 文件

wget https://bootstrap.pypa.io/2.7/get-pip.py
python get-pip.py

安装成功:Successfully installed pip-20.3.4 wheel-0.36.2

再运行我想要的bt系统,结果报错了

# bt start
Starting Bt-Panel... failed
------------------------------------------------------
Traceback (most recent call last):
  File "main.py", line 16, in <module>
    import sys,web,io,os
ImportError: No module named web
------------------------------------------------------
Error: BT-Panel service startup failed.

原因是web.py模块没有安装,用pip安装试试, 还是报错,不过这次是不一样的错误,原因是6.10的系统2.7的python需要安装指定版本的web.py

pip install web.py==0.51

结果成功,bt也成功运行起了

PS:测试环境 centos 6.10, python 2.7

安装脚本setuptools:

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

1. 在命令行用pip安装 pyinstaller包

pip install pyinstaller

2.下载安装pyinstaler运行时所需要的windows扩展pywin32

mhammond/pywin32

下载地址:https://github.com/mhammond/pywin32/releases
选择最新版的下载,注意要选择对应的python版本(version)和python位数(bittedness)

通过在命令行输入python查看python版本和位数

如下所示为python3.6的32位,需要下载[pywin32-223.win32-py3.6.exe]
Python 3.6.3 ... [MSC v.1900 32 bit (Intel)] on win32
如下所示为python3.6的64位,需要下载[pywin32-223.win-amd64-py3.6.exe]
Python 3.6.3 ... [MSC v.1900 64 bit (AMD64)] on win32
3.在命令行中直接输入下面的指令即可
pyinstaller [opts] yourprogram.py

参数含义

-F 指定打包后只生成一个exe格式的文件(建议写上这个参数)

-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

-c –console, –nowindowed 使用控制台,无界面(默认)

-w –windowed, –noconsole 使用窗口,无控制台

-p 添加搜索路径,让其找到对应的库。

-i 改变生成程序的icon图标(比如给女朋友写的程序,换个好看的图标,默认的很丑)

例子:

print('hello world')

name = input("Tell me your name,and I will repeat it back to you:")
print('thank\'s ' + name)

input("will exit:")

保存为first.py

执行:

pyinstaller.exe -F .\first.py

脚本摘自:https://www.runoob.com/python/python-email.html

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
 
my_sender='xxx@qqvbc.com'    # 发件人邮箱账号
my_pass = 'xxx@'              # 发件人邮箱密码
my_user='xxx@qq.com'      # 收件人邮箱账号,我这边发送给自己
def mail():
    ret=True
    try:
        msg=MIMEText('填写邮件内容','plain','utf-8')
        msg['From']=formataddr(["FromRunoob",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To']=formataddr(["FK",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject']="菜鸟教程发送邮件测试"                # 邮件的主题,也可以说是标题
 
        server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret
 
ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")