python类中方法返回自身值类型的写法
在python3中使用类型遇到的问题,代码如下:
想在factory
创建自已,以为类型是这样的-> People
1 | class People: |
这样的错的
正确的写法是这样的:
1 | from typing import TypeVar, Type |
要写成泛型才对,问题地址:https://github.com/python/peps/pull/89
另一种方法
类型写成字符串也是可以的
1 | class People: |
pip安装模块出现neither-setup.py-nor-pyproject.toml-found
使用pip安装模块时出现neither 'setup.py' nor 'pyproject.toml' found.
导致模块无法安装
因为根据打包方案,项目中需要一个setup.py或pyproject.toml用于生成包的配置文件,然而模块里没有按照这个规定来
网上搜了一遍,没找到解决方案
只能选择手动安装
去https://pypi.org/,找到相应的包,下载下来解压到python的Lib
目录
windows下缺失fcntl报错
windows下运行python项目,报错ModuleNotFoundError: No module named 'fcntl'
fcntl
库是linix
的Python发行版才有,windows
没有带
方法一
pip安装缺失的包,这个地址去搜索https://libraries.io/search?q=micropython
1 | pip install micropython-xxx |
仓库地址:https://github.com/micropython/micropython
方法二
在python库文件目录D:\Python\Python38\Lib\site-packages
中创建’fcnty
文件,内容为:
1 | def fcntl(fd, op, arg=0): |
centos7编译安装python3
安装编译依赖
1 | yum install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make |
找到要安装的对应版本https://www.python.org/downloads/source/
下载
1 | wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tar.xz |
解压
1 | tar -xvf Python-3.9.10.tar.xz |
编译
1 | 进入解压后的目录 |
成功之后会生成/usr/local/python3
目录
可能的问题:
- gcc版本太低,需要重新安装高版本的gcc
替换自带的python
1 | 原python位置 |
替换自带的pip
1 | 原pip位置 |