报错总结
数据库报错:Access denied for user 'root'@'localhost' (using password: YES”
解决:就是密码错了
安装 pyqt5-tools 不能打开 designer.exe :
解决:https://www.cnblogs.com/xiege/p/12886528.html
未安装软件包 –nodeps
符号有错误,- 复制的,,,
linux系统mysql服务启动失败:
解决:https://blog.csdn.net/qq_44868502/article/details/103837552
Linux下mysql首次登录修改root密码:
解决:https://blog.csdn.net/liuzhixiong_521/article/details/84333550
pycharm 启动项目报错:这是pycharm没有读取到settings,用命令行启动完全可以
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
解决:
pycharm 环境变量中:
PYTHONUNBUFFERED=1;DJANGO_SETTINGS_MODULE=linde.settings
python3 manage.py runserver报错:找不到模块
解决:因为用的虚拟环境,所以,启动命令要用python而不是python3,虚拟环境的python解释器并没有加入到环境变量中。其实两个都试试。
django找不到迁移文件类似的文件,报错
解决:重装环境,或删除这个文件
pymssql:sql语句,中文参数前面不需要 N,直接传就好。
报错:no len
解决:queryset不是queryset
公私钥连接服务器:
finalshell连接失败:暂不支持此私钥格式,请参考以下方法解决: 1.转换成PEM格式私钥 ssh-keygen -p -m PEM -f 私钥路径 2.生成PEM格式的私钥 生成时增加 -m PEM参数 ssh-keygen -m PEM -t rsa -C "注释"
解决:转换格式:puttygen
https://www.cnblogs.com/5201351/p/13055631.html
安装pyodbc-4.0.30 没有sql.h
yum install unixODBC-devel
gcc:
yum -y install gcc
yum install python-devel
yum install gcc libffi-devel python-devel openssl-devel
yum install -y libffi-devel python-devel openssl-devel
json传输数据:数据类型是准确的
django ORM filter 不区分大小写:
解决:
以上查出来的结果中包含了name等于”ON”, “On”, “oN”的所有对象,也就是说,不区分字母的大小写。但是我印象里,我以前的查询都是区分的啊?那么问题出在哪?
对于是否应该大小写敏感,Django 并没有提供设置方法,这完全取决于后端的数据库对大小写如何处理。mysql规则中,utf8_general_ci 不区分大小写,utf8-bin、utf8_general_cs 区分大小写。
安装shutil
pip install pytest-shutil
requests 发送json数据报错:
The browser (or proxy) sent a request that this server could not understand.
解决:
数据:json.dumps()
错误:
分组查询,指定字段没有效果。
解决:必须 使用聚合函数。
flask报错:
"AssertionError: View function mapping is overwriting an existing endpoint function"
问题:AssertionError: View function mapping is overwriting an existing endpoint function"
解决:这个异常信息,就说明定义了多个同名的视图函数,只需要改成不同的函数名即可。
gunicorn 启动报错:
解决:查看具体报错
gunicorn -c gunicorn.py manage:app --preload
Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
解决方法
docker服务启动时定义的自定义链DOCKER被清除
重启即可systemctl restart docker
Python 问题 SyntaxError: Non-ASCII character '\xe9' in file
解决:#coding=utf-8
uwsgi 启动错误:端口占用
socket=:8000 http=:8000。
注意:以上两种方式启动不能混用
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='139.224.2.127', port=8000): Read timed out. (read timeout=10)
解决:
阿里云要用本地地址要用内网地址
import os
font_dir = os.path.join(os.path.abspath(os.path.dirname(os.path.dirname(__file__))),'Font')
file_dir_pla = os.path.join(font_dir,'platech.ttf')
cnn_dir = os.path.join(os.path.abspath(os.path.dirname(os.path.dirname(__file__))),'cnn_jj1.h5')
print('cnn',cnn_dir)
import os
model_dir = os.path.join(os.path.abspath(os.path.dirname(os.path.dirname(__file__))),'model')
file_dir_ocr = os.path.join(model_dir,'ocr_plate_all_w_rnn_2.h5')
pred_model = model.construct_model(file_dir_ocr)
docker 容器内:127.0.0.1
docker 容器外访问docker容器内 局域网地址,内网地址,公网地址
uwsgi 配置问题:
uwsgi ModuleNotFoundError: No module named 'flask'
no request plugin is loaded, you will not be able to manage requests.
SyntaxError: Non-ASCII character '\xe7' in file car-training.py on line 7, but no encod
no app loaded. going in full dynamic mode ubuntu
安装 uwsgi-plugin-python3
apt-get install uwsgi-plugin-python3
配置文件加入:
<plugins>python</plugins>
注意:查看python软连接,应指向 python3.6
报错:unavailable modifier requested: 80
nginx中uwsgi的配置有问题:调用接口的时候我直接使用127.0.0.1:5000/这个地址粗暴的调用导致的,后面配置了nginx,使用了域名调用就毛问题啦
django:注意必要的时候一定要用 order_by
auto_now = True 自动更新,不起作用。
前端可以不填值:blank = True
auto_now=True自动更新,有一个条件,就是要通过django的model层。
如create或是save方法。
如果是filter之后update方法,则直接调用的是sql,不会通过model层,所以不会自动更新此时间。
官方解释:
What you consider a bug, others may consider a feature, e.g. usingupdate_fieldsto bypass updating fields withauto_now. In fact, I wouldn't expectauto_nowfields to be updated if not present inupdate_fields.
解决办法:
强制改成save()或是update时,带上时间。
如下:
status_item = DeployStatus.objects.get(name=status_name)
DeployImage.objects.filter(name=order_name).update(
deploy_status=status_item,
change_date=datetime.now())
# 上面的操作,才会更新DeployImage表里的change_date(add_now=True)的时间,
# 或是如下调用save()方法
# deploy_item = DeployImage.objects.get(name=order_name)
# deploy_item.deploy_status = status_item
DateTimeField.auto_now
最后修改时间,字段会被“强制”更新到当前时间,无法在程序中手动为字段赋值。如果使用django再带的admin管理器,那么该字段在admin中是只读的。
DateTimeField.auto_now_add
创建时的时间,以后修改对象时,字段的值也不会再更新。无法在程序中手动为字段赋值。在admin中字段也会成为只读的。
场景:add_time 字段,默认为创建时间,也需要在某些更新时,重设时间;但是,某些更新时,不能更新时间。一个订单,计划中状态时,是创建时间;已完成状态时,需要更新时间;所以,这时候倾向于用 auto_now ,但是,在一些逻辑中改了某些数据时,并不希望时间改变,因为某个数据更改并不足以改变时间。如果用 auto_now,会被强制更新时间,导致逻辑混乱。所以,使用 default=timezone.now,在需要改变时间的时候,手动赋值,数据生成时,默认为创建时间。
from django.utils import timezoneadd_time = models.DateTimeField(verbose_name='创建时间', default=timezone.now)
django-aps 定时任务报错:Run time of job was missed!
解决:
实现定时任务一定要,异常处理,打印报错信息。定时任务内部执行逻辑出错。
bug:if account:
如果account是数字,那就是false了,所以,如果预期字符串,先转str。
sqlserver 连接池链接失败,报错:
(20047, b'DB-Lib error message 20047, severity 9:\nDBPROCESS is dead or not enabled\n')
原来没用数据库链接池好用,换成连接池了,连不上了,究其原因:
参数填写不完整,原来有个参数:tds_version="7.0" !!!(kwargs)
不要小看这个参数,完整之后,链接正常了!!!
# -*- coding:utf-8 -*-
import pymssql
from DBUtils.PooledDB import PooledDB
class Sql_conn:
def __init__(self):
# conn = pymssql.connect(server='ta-proddb-ceus.database.windows.net', database='linde_china',
# user='linde_china_ecoa_opendata', password='xGBLmvvjOftTiPTuG2ZUTW7!2mV0Ec',
# charset='utf8',
# tds_version="7.0")
server = 'ta-proddb-ceus.database.windows.net'
port = 1433
user = 'linde_china_ecoa_opendata'
password = 'xGBLmvvjOftTiPTuG2ZUTW7!2mV0Ec'
database = 'linde_china'
pool = PooledDB(creator=pymssql, mincached=2, maxcached=5, maxshared=3, maxconnections=10, blocking=True,
host=server, port=port, user=user, password=password, database=database, charset="utf8",
tds_version="7.0") # 不要忽略任何参数,一个参数可能导致链接失败
self.pool = pool
def read_sql_one(self, sql, params=None):
conn = self.pool.connection()
self.cursor = conn.cursor()
self.cursor.execute(sql, params)
data = self.cursor.fetchall()
self.cursor.close()
conn.close()
return data
conn_pool = Sql_conn()
错误:corrupted double-linked list
可能原因,sqlserver数据库连接池,实现的时候,self.conn 导致把唯一连接池对象的 self.conn 属性赋值,每次使用后都要释放连接,导致每次请求结束都释放了 连接池对象的 self.conn ,或者取代了 当前请求的 self.conn ,导致错误,引用了不存在的链接。
不是上面的原因,不敢奶了,,,
gunicorn启动,gevent模块 换成了 eventlet模式
还是不行,,,
gunicorn 启动命令:
gunicorn linde.wsgi --preload -c gunicorn_config.py
关于 preload 参数:
默认情况下,gunicorn的每个进程,会将代码重新加载一次,以保障进程之间是互相隔离的。这样可以做到更好的兼容性
但是,有些情况,需要多个进程共享同一个资源时,或多个进程只能开启1个任务时,则需要使用- -preload
使用preload后,API函数之外的初始化代码,只会出现在gunicorn的管理进程中,以共享的方式让worker进程访问
启动命令不使用 preload 参数:
gunicorn linde.wsgi -c gunicorn_config.py
不行,,,
使用 gc模块 定时清理内存,不行,,,
取消 mssql 连接池,使用原生连接对象,问题解决。
启动容器报错:Container is not running
说明启动命令或者参数有问题,导致不能启动,比如 mysql容器,必须指定root密码参数才可以启动成功。
docker run -itd --name mysql56 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=linde4396 mysql:5.6.50
创建新分支,需要在服务器 git pull 才能看到
日志文件删除后,重新创建,无法使用
解决:日志文件是自动生成的
pipenv换源:pipenv.project.SourceNotFound:
url不要有空格。。。
找回密码:发送邮件的邮箱需要提供。最好是 qq 邮箱
准备工作
以qq邮箱为例
1 设置--账户--开启POP3/SMTP服务,开启后会获得授权码。
2 邮件服务器的信息
需要邮件服务器的地址和端口,一般在邮箱的帮助中可以查询到;QQ邮箱:服务器地址为:smtp.qq.com,邮箱端口为:465
需要的信息:
邮箱账号,授权码,邮箱服务器地址,邮箱端口
pipenv install 报错:
pkg_resources.VersionConflict: (importlib-metadata 3.4.0 (c:\users\wanglin\.virtualenvs\el_app-ucka9z-_\lib\site-packages), Requirement.parse('importlib-me
tadata<2,>=0.12; python_version < "3.8"'))
解决:
安装:
importlib-metadata==0.12
删除当前虚拟环境,重新 pipenv install
C:\Users\WangLin\Desktop\EL\el_app\src\el_lib\hp_utils.py
nginx : error.log access.log 文件打不开
解决:删除这两个文件重启容器
nginx报错:
js 找不到
解决:更改 vue 中,js 路径即可
403
解决:index.html找不到,路径地址错了
nginx容器前端文件目录必须为: /usr/share/nginx/html
html下面是各种文件:js,css,index.html 等。
/root/kafka_2.10-0.10.1.1/bin/kafka-run-class.sh: line 258: exec: java: not found
解决:
[zelin.huang@dhzltest01.*** ~]$ sudo yum install java-1.8.0-openjdk
.......(安装输出)
[zelin.huang@dhzltest01.*** ~]$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b07)
OpenJDK 64-Bit Server VM (build 25.242-b07, mixed mode)
kafka 启动报错:
报错:
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
改启动脚本核心数
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
改启动脚本内存
解决:export KAFKA_HEAP_OPTS="-Xmx256M -Xms120M -XX:ParallelGCThreads=1"
pipenv 安装依赖报错:Warning: Your dependencies could not be resolved. You likely have a mismatch in you...
解决:运行:
pipenv install --skip-lock
# 不要打印queryset的长度,耗时
# print(len(module_objs))
# 不要用判断长度来判断为空,不要直接判断queryset,用 queryset.exists()
# 不要用 len() 获取 queryset 的长度,
# 要用 sum = module_objs_with_side.all().aggregate(Count("id"))
# 直接写sql,用pandas执行
# pandas 循环每一行:
for row in f.itertuples():
serial_id = getattr(row,'id')
# 用反射取值不是明智的选择,慢
for id in f.values:
orm分组查询查取结果不对
解决:用SQL语句
week=int(datetime.datetime.strptime('2020-11-14 08:16:47','%Y-%m-%d %H:%M:%S').strftime('%W')) + 1
字典等容器类型使用不当,字典套字典,造成不该出现在内部字典中的数据出现在了字典中
解决:深浅拷贝,每次给字典中的key赋值为一个字典,然而,这个字典从来就没换过,只是定义了一个,然后一直用,造成报错。深拷贝解决。重新定义赋值。
# 错误:一直是一个地址。
defect_dict = {0: {}, 4: {}, 8: {}, 12: {}, 16: {}, 20: {}}
for time_day in date_list:
print(id(defect_dict))
defect_days_dict[time_day] = defect_dict
# 正确:每次循环,都重新定义一个字典
for time_day in date_list:
defect_dict = {0: {}, 4: {}, 8: {}, 12: {}, 16: {}, 20: {}}
print(id(defect_dict))
defect_days_dict[time_day] = defect_dict
# 结果:发现地址不一样
1349723599784
1349723600144
列表亦是如此,将初始化一个容器对象放入最内层循环。
UnicodeDecodeError: 'utf-8' codec can't decode byte..
说明编码错误
例子:DRF返回二进制流文件,文件编码不对,xlwt存储为utf8:
book = xlwt.Workbook(encoding = 'utf-8')
解压zip,乱码:
unzip -O CP936 xxx.zip
pandas报错:ValueError: If using all scalar values, you must pass an index
字典转为DataFrame,字典中的value至少有一个有索引,长度才可以,所有值都没有索引,无法确定长度而报错。
nginx报错
502 Bad Gateway nginx
查看 /var/log/nginx/error.log:
2021/03/01 06:50:12 [error] 21#21: *1 connect() failed (113: No route to host) while connecting to upstream, client: 172.17.0.1, server: 127.0.0.1, request: "POST /api/v1/carresult/ HTTP/1.1", upstream: "uwsgi://192.168.1.2:5002", host: "139.224.27.127:5001"
原因:端口未开放 5002
解决:开放5002端口即可
npm install 安装过程报错
解决:cnpm install 或者 换安装源
config["performance"] = { "maxEntrypointSize": 10000000, "maxAssetSize": 30000000 }
WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB)
performance: {
hints:'warning',
//入口起点的最大体积 整数类型(以字节为单位)
maxEntrypointSize: 50000000,
//生成文件的最大体积 整数类型(以字节为单位 300k)
maxAssetSize: 30000000,
//只给出 js 文件的性能提示
assetFilter: function(assetFilename) {
return assetFilename.endsWith('.js');
}
<template v-for="Oitem in Object.keys(cItem)">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 8}"
:key="Oitem"
v-if="Oitem !== 'title'"
v-model="cItem[Oitem]">
</el-input>
</template>
{
"resource": "/c:/Users/WangLin/Desktop/EL/el_plat_web/src/components/ratio_info.vue",
"owner": "generated_diagnostic_collection_name#0",
"severity": 8,
"message": "[vue/valid-v-for]\nCustom elements in iteration require 'v-bind:key' directives.",
"source": "eslint-plugin-vue",
"startLineNumber": 121,
"startColumn": 9,
"endLineNumber": 124,
"endColumn": 81
}
{ { 原文链接:https://www.jianshu.com/p/b84f923e511e 在进行项目开发的时候因为在一个标签上同时使用了v-for和v-if两个指令导致的报错。 提示错误:The 'undefined' variable inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if' 注意点:key值写在包裹的元素中 在python文件xxx.py中调用资源文件,一般来说,需要将资源放在xxx.py的相同目录下;然而,当在xxx.py下建立一个统一目录/rec则需要建立xxx.qrc文件才能让xxx.py调用,调用方法就如: 而xxx.qrc的内容是: 这样,xxx.py必须伴随xxx.qrc才能一起工作。 注意:qrc文件资源地址:纯小写字母,即使文件是大写。windows RuntimeError: cannot set daemon status of active thread 1 不能在start之后调用setDaemon 2 每个线程对象初始化之后只能start一次,不能挂了,然后start,更不能重复设置setDaemon;因为只能用一次,就默认这一次只要start就默认start了,即使挂了。对stoped的线程使用setDaemon,会报这个错误。 RuntimeError: threads can only be started once 更不能使用start方法,每个线程是一次性的,需要重新赋值一个线程对象,setDaemon,start。 那会不会出现这样一个问题,过去的对象不断占用内存? 参考原文链接:https://blog.csdn.net/yanghuan313/article/details/52985393 先本地能跑,然后,再打包,模块环境没配好。 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。 如果 source 为整数,则返回一个长度为 source 的初始化数组; 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列; 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数; 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。 如果没有输入任何参数,默认就是初始化数组为0个元素。 返回一个新的 bytes 对象。 字节(Byte,B)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符 。 一个字节存储8位无符号数,储存的数值范围为0-255。如同字元一样,字节型态的变数只需要用一个位元组(8位元)的内存空间储存 。 相当于一个字符,8位=1字节 字节通常简写为“B”,而位通常简写为小写“b” Byte是从0-255的无符号类型,所以不能表示负数 B与bit 数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位。 一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位 。 不同数量级间 1字节(Byte)=8位(bit) 1KB( Kilobyte,千字节)=1024B 1MB( Megabyte,兆字节)=1024KB 1GB( Gigabyte,吉字节,千兆)=1024MB 1TB( Trillionbyte,万亿字节,太字节)=1024GB 1PB( Petabyte,千万亿字节,拍字节)=1024TB 1EB( Exabyte,百亿亿字节,艾字节)=1024PB 1ZB(Zettabyte,十万亿亿字节,泽字节)=1024EB 1YB( Yottabyte,一亿亿亿字节,尧字节)=1024ZB 1BB( Brontobyte,千亿亿亿字节)=1024YB 应该注意到,多字节字段中的值是按照大末尾(big- endian)顺序规定的,具体来说就是最高位的字节出现在高位,而低位的字节出现在低位。这会引起工作在Intel平台上的程序员的迷感,因为在 Intel的平台上。数据是按照小末尾(little-endian)顺序存储的,高位的字节出现在低位 [7] 。 报错: OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "chdir to cwd ("/usr/src/app") set in config.json failed: no such file or directory": unknown 解决: 原因:反括号和圆括号用的不对 get() pop() 而不是方括号 pop与del sort()方法,不能简单的排序字典。 解决: python闭包不支持pickle(序列化)。多进程需要函数能pickle。 from pathos.multiprocessing import ProcessingPool as Pool 2.避免使用闭包 3.改用队列 multiprocessing Queue 来通信 RuntimeError: This probably means that you are not using fork to start your if name == 'main': The "freeze_support()" line can be omitted if the program 解决: redis版本高了:以下为正确的版本: 一个值,而不是一个语句 文件编码不是 utf8 解决:(添加了settings文件夹后) django在使用mysql的时候,环境配置好了,所需软件也下载好了,这时报这个错误,可以试试在__init__.py文件中加入以下两句: import pymysql pymysql.install_as_MySQLdb() 永远不要在遍历列表的时候,删除列表本身的元素
"resource": "/c:/Users/WangLin/Desktop/EL/el_plat_web/src/components/ratio_info.vue",
"owner": "generated_diagnostic_collection_name#0",
"severity": 8,
"message": "[vue/no-v-for-template-key]\n'' cannot be keyed. Place the key on real elements instead.",
"source": "eslint-plugin-vue",
"startLineNumber": 120,
"startColumn": 60,
"endLineNumber": 120,
"endColumn": 77
}
"resource": "/c:/Users/WangLin/Desktop/EL/el_plat_web/src/components/ratio_info.vue",
"owner": "generated_diagnostic_collection_name#0",
"severity": 8,
"message": "[vue/valid-v-for]\nCustom elements in iteration require 'v-bind:key' directives.",
"source": "eslint-plugin-vue",
"startLineNumber": 121,
"startColumn": 9,
"endLineNumber": 124,
"endColumn": 81
}v-for和v-if一起使用时的坑
缘由:
报错代码如下:
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 8}"
v-for="Oitem in Object.keys(cItem)"
:key="Oitem"
v-if="Oitem !== 'title'"
v-model="cItem[Oitem]">
</el-input>
原因:v-for的优先级会高于v-if,因此v-if会重复运行在每个v-for中。正确写法:使用template标签进行包裹(template为html5的新标签,无特殊含义)
<template v-for="Oitem in Object.keys(cItem)">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 8}"
:key="Oitem"
v-if="Oitem !== 'title'"
v-model="cItem[Oitem]">
</el-input>
</template>
QIcon(':/rec/pointer.png')
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>rec/pointer.png</file>
</qresource>
</RCC>
更高级的做法是:
将资源(rec目录)下的资源编译成python代码,就可以脱离具体的资源文件,如用pyinstaller编译后,形成统一exe文件。
1 一个qrc文件
2
将xxx,qrc编译成xxx_rc.py文件,通过如下语句实现:
pyrcc5 xxx.qrc -o xxx_rc.py
这样,在xxx.py中,加入import xxx_rc.py就可以了,其它资源和其目录可以统统丢弃不用。
from common.ui import resources
答案是不会的,因为python的自动垃圾回收机制,如果一个对象不存在对它的引用,那么它将被回收掉。所以上面的方法是可以解决的。import threading
import time
def aaa():
time.sleep(2)
print('aaa')
a = threading.Thread(target=aaa)
a.setDaemon(True)
a.start()
print('sleep')
time.sleep(5)
print(a)
print(a.is_alive())
# a.start() 不行,一个线程是一次性的,需要重新赋值线程对象
# a.setDaemon(True) 更不行,一次性的
a = threading.Thread(target=aaa) # 可行
a.setDaemon(True)
a.start()
print(a)
print(a.is_alive())
pyinstaller 递归报错:
bytes 函数
描述
参数
In [2]: bytes(10)
Out[2]: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
In [7]: for i in a:
...: print(i)
...:
0
0
0
0
0
0
0
0
0
0
In [8]: b = 'abcde'
# 对字符串转bytes,必须指定encoding
In [9]: bytes(b)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-de281ca82066> in <module>
----> 1 bytes(b)
TypeError: string argument without an encoding
In [10]: c = bytes(b,encoding = 'utf8')
In [11]: c
Out[11]: b'abcde'
In [18]: d = [1,2,3,4,5]
In [19]: dd = bytes(d)
In [20]: dd
Out[20]: b'\x01\x02\x03\x04\x05'
In [21]: for i in dd:
...: print(i)
...:
1
2
3
4
5
# 256 超出范围
In [15]: d = [256,1]
In [16]: bytes(d)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-16-efafa46d77e8> in <module>
----> 1 bytes(d)
ValueError: bytes must be in range(0, 256)
返回值
数据类型
相关单位
换算
字节顺序
docker exec -w / -it 65cbaa57fe08 mkdir /usr/src/app
creat_time
product_line
facility
select * from
select * from Module_7 m7 where m7.creat_time >'2021-03-26 00:00:00' and m7.creat_time <= '2021-03-26 23:00:00' union all select * from Module_59 m59 where m59.creat_time >'2021-03-26 00:00:00' and m59.creat_time <= '2021-03-26 23:00:00'
报错:TypeError: 'builtin_function_or_method' object is not subscriptable
In [1]: a = {'a':1}
In [2]: a.pop('a')
Out[2]: 1
In [3]: a
Out[3]: {}
In [4]: a = {'a':1}
In [5]: a.pop['a']
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-b57d456d7ad2> in <module>
----> 1 a.pop['a']
TypeError: 'builtin_function_or_method' object is not subscriptable
In [1]: a = {'a' : 1}
In [2]: del a['a']
In [3]: a
Out[3]: {}
In [1]: a = {'a':1}
In [2]: a.pop('a')
Out[2]: 1
In [3]: a
Out[3]: {}
报错:TypeError: '<' not supported between instances of 'dict' and 'dict'
In [1]: a = [{1:1},{2:2}]
In [2]: a.sort()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-2ed0d7de6146> in <module>
----> 1 a.sort()
TypeError: '<' not supported between instances of 'dict' and 'dict'
ValueError: could not broadcast input array from shape (1000,1750,3) into shape (1000,1752,3)
print(shapea.shape)
print(shapeb.shape)
shapea[:,10:100,:3] = shapeb[:,10:100,:3]
# 前后两个图片的array的shape不一样
(1000, 1752, 3)
(1000, 1750, 3)
# 高都相同,然而打印的宽不相同,但是取的切片不同
# 原因:shapeb的宽度不够切片,例如:
In [1]: a = [1,2,3]
In [2]: b = a[:10]
In [3]: b
Out[3]: [1, 2, 3]
读文件编码错误:报错是在read()的时候。生成对象阶段不报错。
These dependencies were not found: * @/theme-et/index.css in ./src/main.js *
cnpm install --save element-ui
多进程,获取结果 .get() 报错:
AttributeError: Can't pickle local object 'EdgeSliceProcess.get_points.
有几种方式解决:
0.将函数体中的函数挪出。
这是最简单的方法。但是有时因为函数接口已经给定,需要使用函数来定义函数。考虑以下两种方法。
1.更换pickle,考虑以下代码:
网址
https://github.com/uqfoundation/pathos
多进程函数不要有闭包结构,这个有用的!!!注意:创建进程慢:12个进程,创建大概 5 秒
创建多进程:报错:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
child processes and you have forgotten to use the proper idiom
in the main module:
freeze_support()
...
is not going to be frozen to produce an executable.1 在 __main__ 下创建进程
2 创建进程早了,要在主进程创建后,创建子进程,比如,在函数调用的时候创建
主进程:
pool = [] # 单例模式
def aaa():
if pool == []:
创建子进程池
注意: 固定的进程数量,还是,变动的进程数量
创建固定始终运行进程和使用进程池
celery报错:TypeError: 'tuple' object is not callable
原代码:
backend = 'redis://106.75.30.97:8007/2',
# python你跟我说逗号!!!???
# 去掉逗号,一切正常
使用redis和celery执行异步任务时报错AttributeError: 'str' object has no attribute 'items'
celery==3.1.25
redis==2.10.6
SyntaxError: keyword can't be an expression
TypeError: exit() takes 1 positional argument but 4 were given
def __exit__(self, exc_type, exc_val, exc_tb):
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from common.cabits_oss import OssCabitsFactory
# Create your views here.
class DownloadFile(APIView):
def get(self,request):
# ?parent_name='PVMI'&parent_tag='v1'&resource_id='111'
parent_name = request.GET.get('parent_name')
parent_tag = request.GET.get('parent_tag')
resource_id = request.GET.get('resource_id')
print(parent_name)
print(parent_tag)
print(resource_id)
oss_factory = OssCabitsFactory(parent_name,parent_tag)
with oss_factory.create_oss_download_obj('resource_id') as oss_obj:
print(oss_obj)
print(oss_obj.download)
# filebytes = oss_obj.download()
return Response('ok')
ValueError: source code string cannot contain null bytes
django报错:ModuleNotFoundError: No module named ‘MySQLdb‘
In [37]: a
Out[37]: [1, 2, 3]
In [38]: for i in a:
...: try:
...: a.remove(1)
...: except:
...: pass
...: print(i)
...:
1
3