python
Lancer_Wu
这个作者很懒,什么都没留下…
展开
-
fastapi flask django等python web框架 设置的host port不起作用的解决方案
使用flask的时候,在脚本里设置好了host和port,但是在按照教程里的启动方式:uvicorn appMain:app --reload但启动之后的host和port却是默认的:INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)INFO: Started reloader process [48460] using statreload之前用flask的时候也遇到过这个问题,当时还原创 2020-12-22 10:21:27 · 827 阅读 · 1 评论 -
mac 10.15 安装xgboost-1.0.2 python setup.py egg_info Check the logs for full command output.问题解决
一开始用pip install xgboost结果报错,ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.后面想要去github下载编译安装,结果下载下来的最新版跟网上的教程不一样,官网的安装文档也没用,相当蛋疼。不...原创 2020-04-13 03:18:57 · 6443 阅读 · 1 评论 -
Centos7 superset0.30.0 生产环境异步高并发稳定结构部署 superset+gunicron+gevent+mysql+redis+celery+flower+supervisor
文章目录环境准备搭建conda虚拟环境安装需要用到的python包安装需要用到的Centos应用superset配置修改默认数据库celery部分配置修改默认缓存设置superset+celery+mysql+flower启动测试superset启动celey启动flower启动gunicorn配置supervisor配置环境准备搭建conda虚拟环境建议为superset搭建一个专门的py...原创 2020-03-27 22:26:44 · 1282 阅读 · 0 评论 -
centos superset0.30 查找配置文件config.py 添加用户个人配置文件
在自己的superset安装环境下(如果是安装在python的虚拟环境,需要先进入虚拟环境)输入:which superset我这边返回的结果是:/root/anaconda3/envs/superset/bin/superset然后在这个 虚拟环境的路径底下 搜索 config.pyfind /root/anaconda3/envs/superset/ -name config.py...原创 2020-03-26 12:07:24 · 1894 阅读 · 0 评论 -
Centos Python3 conda虚拟环境 virtualenv 中的gunicorn superset flask应用等的开机启动命令,结合supervisor部署
superset使用的是conda的虚拟环境安装,虚拟环境的gunicorn部署,之前的开机启动脚本中的这一块的命令行是这样的:source activate superset # 启动superset虚拟环境gunicorn -c gun_superset.conf superset:app conda deactivate后面需要结合supervisor部署,command就只能用...原创 2020-03-25 08:18:47 · 814 阅读 · 0 评论 -
superset 0.30.0 config.py 修改默认缓存为redis
superset使用Flask-Cache来缓存数据。在之前的使用中没感觉的缓存的便利性,因此想要替换成redis。在superset的config.py中,可以通过CACHE_CONFIG参数配置缓存所使用的后端。首先安装Python的redis驱动:pip install redis然后在superset的config.py中增加如下的配置:CACHE_CONFIG = { ...原创 2020-03-24 22:02:30 · 512 阅读 · 8 评论 -
pip install pydruid失败的解决方法
使用pip install pyduuid的时候安装失败,报错如下:During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 1, in <module>...原创 2020-02-26 18:37:11 · 1266 阅读 · 2 评论 -
superset权限批量复制
superset的权限控制确实是相当的蛋疼,需要一个个进行选择,太过麻烦,而且原始提供的几个角色一旦初始化后就会恢复默认值。所以建议的做法是创建新角色,然后复制默认角色的权限,再进行修改,比如只能看dashboard,只能用sql lab,或者只给予某个数据库的权限,再给用户搭配某几个角色,以实现权限管控目的。示例如下:在角色列表新建一个角色:因为没有勾选任何权限,所以这个角色一开始...原创 2020-02-22 18:22:29 · 671 阅读 · 2 评论 -
superset赋予某个角色只能查看已发布的dashboard权限,无编辑权限
superset给某个角色赋予可编辑和操作权限比较简单,直接给用户赋予alpha角色就行,但是要只让新用户只有查看已公开发布的dashboard的权限,可就不太容易了,以下是我不断试出的权限搭配,直接使用sql插入数据表就行。-- 先删除要给予只看dashbord角色的之前所有权限,7是我这边要赋予权限的role_id,可以从 ab_role 表中看到角色的iddelete from `ab_...原创 2020-02-23 23:15:28 · 3571 阅读 · 1 评论 -
python 执行sql报错:ValueError: unsupported format character '"' (0x22) at index 151
使用sqlalchemy执行sql语句的时候老是报错:ValueError: unsupported format character '"'一开始还以为是sql语句中包含双引号的问题,但是改成单引号也报错,把引号内的内容替换成占位符也还是错,然后查了一下,发现是 % 捣的乱,报错报的莫名奇妙。原因是这里使用的 % 在传给mysql中执行的时候被赋予了别的意思,因此需要转义,再加个 % 就行...原创 2020-02-21 00:01:58 · 7951 阅读 · 0 评论 -
superset 0.30.0 数据库从 sqlite 迁移到 mysql
一开始测试的时候用的都是默认的设置,使用的是自带的sqlite的数据库,考虑到长远的使用来说,使用mysql更好一点,也方便操作,因此必需迁移之前的数据到mysql上面。先从当前服务中导出数据:superset export_datasources -b -d -f datasources.yamlsuperset export_dashboards -f dashboards.json...原创 2020-02-19 21:44:07 · 1483 阅读 · 0 评论 -
superset 0.30.0 通过服务器ip和端口 公网无法访问,修改配置一劳永逸
安装网上的教程,通过conda的虚拟环境安装好superset,然后就要启动这边先说一个坑,网上的教程启动都是:superset runserver我安装的是0.30.0版本,这个启动方式没用,最新的启动命令是:superset run但是用这个命令启动之后,host和port是:127.0.0.1:5000,这就很尴尬了,只能服务器本地访问,外网无法访问。然后看了下主配置文件:v...原创 2020-02-19 10:30:18 · 2957 阅读 · 0 评论 -
superset 0.30.0 公网访问设置 127.0.01转0.0.0.0 config.py无法使用
按照这篇文章的教程成功安装了superset 0.30.0:https://www.jianshu.com/p/b02fcea7eb5b但是有以下几个问题:1、启动方式不同旧版本是:superset runserver0.30.0 的方式如下:superset run2、公开访问的设置不同服务启动以后发现,发现没办法通过 ip+端口 的方式进行访问,而且我的默认端口是5000...原创 2019-12-20 00:02:42 · 2676 阅读 · 2 评论 -
python threadpool线程池简单实现,了解原理
简单实现了一下threadpool,避免了只会调用却不知道如何运行的尴尬,详细代码如下:import queueimport threadingimport contextlibimport time"""author:LancerWuemail: wuxs231@163.comdescription:一个基于thread和queue的线程池,以任务为队列元素,动态创建线程,重...原创 2019-06-24 16:00:32 · 574 阅读 · 0 评论 -
django celery @task 异步任务,参数报错问题
按照网上的教程直接使用@task或者@shared_task的话,我这边会出现参数错误的问题,需要使用(bind=True)来解决,样例如下:from celery import shared_task@shared_task(bind=True)def add(x,y): return x+y...原创 2019-06-26 18:54:27 · 1547 阅读 · 1 评论 -
django celery 启动报错TypeError: can only concatenate tuple (not "NoneType") to tuple解决方法
手贱不小心pip install django-celery-result结果没想到把django-celery什么的也给更新了,会提示不兼容:再使用python manage.py celery worker --loglevel=info 的时候就启动不了,部分报错如下:File "/anaconda3/lib/python3.6/site-packages/django/c...原创 2019-06-26 18:45:29 · 2804 阅读 · 0 评论 -
python 使用lxml的etree快速解析网页表格
发现使用lxml的etree解析网页的表格特别方便,看了一些教程,讲得不是很清楚,特此贴上自己使用成功的代码,作为参考。import requestsimport reimport pandas as pdfrom lxml import etree# url和header此处省略req = requests.get(url=url, headers=header)text = r...原创 2019-06-25 18:35:55 · 4693 阅读 · 0 评论 -
python pandas with link or location/anchor > 255 characters 问题解决
使用pandas保存成excel的时候,如果列里面含有很多url之类的,保存总是会出错,with link or location/anchor > 255 characters since it exceeds Excel's limit for URLS force_unicode(url))这是因为单元格内容的值过长,需要使用ExcelWriter设置不要将strings转换成ur...原创 2019-06-08 13:57:53 · 2413 阅读 · 0 评论 -
不止是刷题——leetcode笑死人的评论合集,独乐乐不如众乐乐~~
最近一直在leetcode上刷题,爱学习的我发现了评论区里不只有答疑解惑的大神们,还潜伏着众多神兽和段子手们,截图出来,与诸君共享,程序猿的乐趣不是一般人能懂得~~——本文由非正经程序猿吴向深独家撰写,后续看心情更新题目:有人如此解答,完美实现了时间空间复杂度都是O(1),请大神收下我的膝盖!评论区的敬仰之情,一起感受一下:题目:话不多说,看第一行,懂得自然懂...原创 2019-06-12 18:49:58 · 1291 阅读 · 0 评论 -
python 主要排序算法-整理版
网上各种排序算法版本众多,这里结合了几个版本,每个算法保留了一或二个我觉得容易理解的方式,方便刚入门的同学掌握常见的排序算法。快速排序插入排序选择排序...原创 2019-06-18 16:31:26 · 156 阅读 · 0 评论 -
python 项目依赖问题解决 pipreqs生成依赖包清单
工作中跨环境运行相同项目的脚本但却缺少安装包的问题相当的蛋疼,所以推荐一个工具叫pipreqs,可以一个命令行直接生成所有依赖清单requirements.txt导出依赖包先安装:pip install pipreqs装好之后切换到项目路径下:pipreqs ./正常的话应该会生成一个requirements.txt文件,但是在win下我报错了:使用以下方式解决:pipreqs ...原创 2019-05-30 22:53:10 · 1238 阅读 · 0 评论 -
python 时间转换 module time has no attribute 'localtime' 的问题
进行时间戳转成字符串格式的时候,偷懒想着一行代码一步到位,不过一直报错,然后花了好长时间各种排查,发现只需要把步骤拆分一下就行了,怀疑是执行顺序的问题。改之前:end_time = time.strftime("%Y-%m-%d %H:%M:%S", time.loacltime(int(end_time)))会报:module time has no attribute 'localti...原创 2019-04-25 16:56:42 · 11581 阅读 · 0 评论 -
python 下载图片的函数
通过url即可直接下载图片import requestsdef down_pic(down_url, picname): ''' 下载图片函数 :param down_url: 下载地址 :param picname: 保存的图片名字 :return: ''' header = { 'User-Agent': 'Mozi...原创 2019-05-05 22:45:21 · 1159 阅读 · 0 评论 -
python 用grequest 实现真·高并发爬虫
之前都是使用多线程来实现效率的提升,但是由于python的GIL锁的原因,导致所谓的多线程并不是多并发,而是当爬虫发出去的请求还未等到返回的间隙,继续执行别的线程,相当于交替轮流执行,是伪多并发。而grequest库封装了gevent和requests,实现了真正的多并发请求,不过也不是说来多少并发多少,也是有边界的,所以通过size参数设置一下同时并发数。import grequests...原创 2019-05-04 14:13:23 · 6229 阅读 · 4 评论 -
发现一个python调试神器:PySnooper
PySnooper - 不要再使用print进行调试断点等调试方法虽然强大,但是设置比较麻烦。为此print成了很多人的最爱。PySnooper让你做print的事情,但不需要麻烦地添加很多语句,你只需要添加装饰器就可以得到运行日志,包括线运行,及对应变量的值。https://github.com/cool-RR/PySnooper/安装pip install pysnooper实...原创 2019-04-28 11:27:20 · 884 阅读 · 0 评论 -
python 爬虫 使用代理 爬取
之前有需要翻墙爬取内容,发现需要使用代理,不能简单的在requests里加个参数就行了,现在把脚本改成通用模板,有需要的可以按照自己的需求改一下哈。import urllib.request as requestimport requestsimport json'''@author:Lancer Wu@email:wxs231@163.com'''def proxies_s...原创 2019-05-02 18:00:02 · 33734 阅读 · 3 评论 -
封装了一个python线程池函数,直接调用跑多线程,适合跑爬虫
ThreadPoolExecutor已经是一个很完善的多线程池的库了,不过在项目里面老是重复判断list的长度来设置线程数,每次各个地方去修改真的是太麻烦了。想要根据参数的长度动态控制线程的的数量,同时实现配置全局化,所以又封装成了一个函数,直接调用并传入多线程函数和参数list即可,适合我这样的懒人使用~from concurrent.futures import ThreadPoolExe...原创 2019-05-02 16:20:15 · 1583 阅读 · 0 评论 -
python发送邮件函数
看网上发送邮件的教程都是单独的一个脚本,而且要传入特别多的变量,作为项目的一个部分,我封装了一下,直接用字典导入参数就行,虽然换挡不换药,但是可以把配置都放在一起,不需要定位到相应的位置来改。邮件内容可以使纯文本或者html格式,不带传输附件。import smtplibfrom email.header import Headerfrom email.mime.text import M...原创 2019-05-02 15:54:35 · 919 阅读 · 0 评论 -
自己整理的python对mysql的常用操作,封装成函数直接调用
把自己平常经常使用的对mysql操作的函数整理了一下,主要是使用dataframe来操作,同时封装了数据库的连接,提交等操作,这样只需要传入参数和数据就可以了。分享给有需要的朋友,节约造轮子的时间。from sqlalchemy import create_engineimport pymysqlimport pandas as pd'''author:LancerWuemail:w...原创 2019-05-02 15:25:35 · 2304 阅读 · 0 评论 -
python3 poplib.POP3 连接超时问题
使用python想要获取邮箱里面的邮件,连接的时候出现连接超时的错误Traceback (most recent call last): File "/Users/wuxiangshen/Documents/OneDrive/工作文档/工作开发/日报自动化/邮件获取.py", line 12, in <module> server = poplib.POP3(pop3_s...原创 2019-05-06 11:22:52 · 1987 阅读 · 0 评论 -
python3 pandas dataframe使用集合 自己的整理
工作中经常用dataframe处理数据,简直是个神器,把自己用过的都记录一下,以后忘了好重新发现一下。原创 2019-05-06 19:13:42 · 2040 阅读 · 0 评论 -
django中异步执行python脚本
之前业务中需要根据前端的提交,用django在后端中跑某个脚本进行执行,因为执行时间较久,所以用的是异步,不知道什么是异步的可以先去研究django的异步执行框架celery,这里直接展示我的异步环境下执行Python脚本的代码:tasks.py中的操作:import subprocess # 这个库是能够直接运行脚本的关键@task(bind=True)def run_script(...原创 2019-05-26 20:36:51 · 7137 阅读 · 8 评论 -
django 查看request的详细参数
如果需要查看前台传来的header中的详细参数并获取的话,使用以下方式即可:在views.py中新增以下函数:from django.core.handlers.wsgi import WSGIRequestdef test(request): print(type(request)) # 打印出request的类型 print(request.environ) #...原创 2019-05-26 19:25:07 · 3994 阅读 · 0 评论 -
python try except 异常的正确捕获方式
之前try catch的时候都使用以下的方式:def test(arr): try: a = int(arr) print(a) except Exception as e: print('error', e)test('adff')来查看是哪里出问题了,但是这种方式有个问题,那就是只打印最简略的错误信息:rror inv...原创 2019-05-12 14:33:17 · 4388 阅读 · 0 评论 -
python pandas dataframe csv txt转excel 分组取前n行 分组随机抽样的实现
使用python pandas的dataframe进行大量数据的分组取前n个和分组随机抽样简直不要太高效,锤爆excel。示例代码如下:import pandas as pd'''author:LancerWuemail:wuxs231@163.com'''# txt转excel的函数def txt_to_xlxs(file_name, xlsx_name, sheetnam...原创 2019-05-15 11:24:32 · 1512 阅读 · 0 评论 -
python递归删除文件or文件夹函数
话不多说,代码说话,有问题请反馈哈import os'''author:LancerWuemail:wuxs231@163.com'''def delete_file(file_dir, del_file, type='file', bianli=0): ''' 删除文件 :param file_dir: 搜索路径 :param del_file: ...原创 2019-05-07 18:12:30 · 696 阅读 · 0 评论 -
cannot import name 'cross_validation' No module named 'sklearn.learning_curve' 等问题
ImportError: cannot import name 'cross_validation'ModuleNotFoundError: No module named 'sklearn.learning_curve'ModuleNotFoundError: No module named 'sklearn.grid_search'在0.18以上的sklearn版本中,以上这些库全...原创 2019-05-07 16:38:00 · 10413 阅读 · 1 评论 -
关于mac pip install xgboost 卡住的问题
mac 使用pip install xgboost时候,一直卡在下载进度条完成的界面。一开始还以为是命令行卡住了,Ctrl+C杀死后重复执行代码好几次,依然是卡在下载进度条完成的界面。刚要搜索是什么问题,不过看到终端上方的标题有变化,所以其实并没有卡住,只不过安装确实很久,后面先不管他,十几分钟后再看,已经安装好了。所以解决方案就是——耐心等……...原创 2019-05-19 21:18:38 · 694 阅读 · 0 评论 -
pandas.errors.ParserError: Error tokenizing data. C error: EOF inside string 问题解决
正常的每日自动运行脚本突然报错,错误提示部分如下:pandas.errors.ParserError: Error tokenizing data. C error: EOF inside string原来是今天的csv文件特别大,其中有一些行错误,导致pandas的read_csv读取失败。所以解决方案就是跳过那些错误行继续读取,使用error_bad_lines参数。代码如下:dat...原创 2019-05-09 17:17:03 · 9666 阅读 · 2 评论 -
Python内置函数详解——总结篇(转载)
为了方便记忆,将这些内置函数进行了如下分类:数学运算(7个)类型转换(24个)序列操作(8个)对象操作(7个)反射操作(8个)变量操作(2个)交互操作(2个)文件操作(1个)编译执行(4个)装饰器(3个)数学运算abs:求数值的绝对值>>> abs(-2)2divmod:返回两个数值的商和余数>>> divmod(5,2)(...转载 2019-04-27 13:36:19 · 239 阅读 · 0 评论