Python

分类下相关文章

ModuleNotFoundError: No module named '_ctypes'

从 git 仓库 clone 下来的已有 Python项目,在使用 pipenv install 安装依赖时报错: An error occurred while installing backpack==0.1 ERROR: Couldn't install package: backpack 虽然看起来时某个依赖包没有安装成功,但根本原因是错误: ModuleNotFoundError: No module named '_ctypes' 解决方法 sudo apt-get install libffi-dev pyenv uninstall 3.8.6 pyenv install ...

阅读全文...

Neither 'pyenv' nor 'asdf' could be found to install Python

背景 系统环境 Ubuntu 18.04 Python 3.6 但是,这个 Python 项目在 pipenv 配置文件中指定的 python 版本是 3.8。 所以,执行 pipenv shell 命令时,报错: $ pipenv shell Warning: Python 3.8 was not found on your system... Neither 'pyenv' nor 'asdf' could be found to install Python. You can specify specific versions of Python with: $ pipenv -- ...

阅读全文...

E: Unable to locate package pipenv

系统环境 Ubuntu 18.04 Python 3.6 报错信息 在执行 apt install pipenv 时,报错: E: Unable to locate package pipenv 解决方法 使用 pip 安装 pipenv sudo apt install python3-pip pip3 install pipenv 重启 shell。即可使用 pipenv ...

阅读全文...

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

系统环境 Ubuntu 20.04 MySQL 8.0 Python 3.8 问题描述 在安装了 PyMySQL 之后: pipenv install PyMySQL 进行 MySQL 数据库访问时,直接报错: RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 看上去是 MySQL 8 引入的账号问题。 解决方法 pipenv install PyMySQL[rsa] 再次操作数据库就可以了。 Pipfile 的变化 p ...

阅读全文...

Python 3 爬虫库 Beautiful Soup 4.4.0 的安装及使用示例

开发环境 Python 3.8 Ubuntu 20.04 安装 Beautiful Soup 依赖 首先安装 pipenv,来解决依赖问题。安装方法详细参考 python 3 使用 pipenv 进行依赖管理与项目隔离 然后在项目目录下,pipenv shell 进入虚拟环境,执行安装依赖的命令: pipenv install beautifulsoup4 pipenv install requests pipenv install lxml 一个最简单的爬虫 打印本站 www.sunzhongwei.com 的网站标题,及首页文章列表的标题。 #!/usr/bin/env python ...

阅读全文...

python 3 使用 pipenv 进行依赖管理与项目隔离

pipenv 吸引我的地方 命令参数简单好记,感觉更像 PHP 的 composer pip 与 virtualenv 合并为一个命令 使用 Pipfile 替代 requirements.txt,管理依赖更方便 安装 pipenv 系统环境 Ubuntu 20.04 Python 3.8 sudo apt install pipenv Ubuntu 18.04 安装 pipenv 如何是 Ubuntu 18.04 可能会报错,参考 E: Unable to locate package pipenv 使用 pipenv 安装依赖 以安装常用的 requests 依赖为例,在一个新项 ...

阅读全文...

Ubuntu 20.04 为 Python3 安装 pip

系统环境 Ubuntu 20.04 Python 3.8.5 Ubuntu 20.04 默认安装了 Python 3.8.5,无需额外安装: 版本查看: > python3 --version Python 3.8.5 安装 PIP sudo apt update sudo apt install python3-pip 安装完毕后,确认版本 > pip3 --version pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8) ...

阅读全文...

python3 中使用 SimpleHTTPServer 功能

我想测试一下 Windows 中在 WSL 中开启的服务端口,能否在 windows 宿主机中访问。 WSL Ubuntu 18.04 内置了 python3,所以使用 python3 起个服务试一下 python3: python3 -m http.server 8000 python2 中对应的用法: python -m SimpleHTTPServer 8000 在浏览器中访问 http://localhost:8000,果然可以 ...

阅读全文...

充分利用多核及分布式提升日志解析的性能

在一个四核的机器上使用 python 运行以下代码 while True: pass 会发现只有一个核使用率是 100%, 其他三个核则没事可干。 如果使用多线程呢? 由于 CPython (我们平时使用的 Python) 和 PyPy 使用了GIL (Global Interpreter Lock) 导致同一时刻只有一个线程的代码能够被执行,所以实际上是串行执行的,而不是并行。 解决方式通常有以下几种: 使用 threading 模块来写多线程程序,但是在 IronPython 或者 Jython 下运行。 使用 Python 2.6 之后所带的 multipro ...

阅读全文...

python orm orator - php laravel eloquent 的复制品

orator - n. 演讲者 这是一个类似 laravel eloquent 的 python orm 库。 https://github.com/sdispater/orator 使用方法与 eloquent 几乎一致,非常清爽。相比之前用过的 peewee,SQLAlchemy,Django ORM,这个库更简洁明了。 唯一的缺点是,这个项目近期非常不活跃,而且作者对于 pull request 置之不理。 hello world 示例 #!/usr/bin/env python # -*- coding: utf-8 -*- from orator import DatabaseM ...

阅读全文...

中午用 Python telnetlib 写了个水木社区的自动挂机涨积分的脚本

核心代码就这么几行,从 Github 上抄的。。。 使用的是 Python 内置的 telnetlib 这个库。 需要注意的是 expect 里的规则是正则,所以判断登录之后修改密码的逻辑一定要将中括号转义。 while result[0] != 5: tn.write("\n") result = tn.expect([ u"酸甜苦辣板".encode("GBK"), u"本日十大衷心祝福".encode("GBK"), u"本日十大热门话题".encod ...

阅读全文...

Python 计时用装饰器

def time_it(method): def timed(*args, **kw): start_time = time.time() ...

阅读全文...

Python 中 uuid1 与 uuid4 的区别

uuid1 是与机器信息相关的一个 uuid,包含了时间信息,以及机器信息. 分布式存储时使用。 uuid4 则是一个纯随机数,与机器无关, 相重的几率很小。通常生成用户id用这个。 ...

阅读全文...

Python Logging

One of the differences between a great programmer and a bad programmer is that a great programmer adds logging and tools that make it easy to debug the program when things fail. -- Henrik Warne 同一服务的不同功能的日志如何记录 根据 Logging Cookbook 里的解释,可以使用 logging.getLogger("app_name") 创建一个父 logger,然后 ...

阅读全文...

python 的两种除法

Python 除法运算符 '/' 与 '//' 的区别 >>> 10 / 3 3 >>> 10 // 3 3 >>> 10 / 3.0 3.3333333333333335 >>> 10 // 3.0 3.0 >>> type(10 // 3.0) <type 'float'> 也就是当除数和被除数都是整数的时候,返回结果都是整数。 当除数和被除数至少有一个是浮点数的时候,返回结果都是浮点数。但是, // 的结果的小数部分永远是 0. `Floor division'' is what Py ...

阅读全文...

近期节日

查看更多节日