Python相关问题汇总

1.pycharm中windows找不到chrome解决办法

打开pycharm–》File–》setting–》Tools–》Web Browsers 。然后添加chrome安装路径
Python相关问题汇总_第1张图片
图1.png

2.inconsistent use of tabs and spaces in indentation

这个报错就是混用了tab和4个空格造成的,检查代码,要不全部用tab,要不全部用4个空格,或者用idle编辑器校正

3.python中出现IndentationError:unindent does not match any outer indentation level错误

当前用的文本编辑器Notepad++,有个设置,可以显示所有的字符的。
在: 视图 –> 显示符号 –> 显示空格与制表符

这样就可以看到我们Python代码的到底有没有该缩进的都缩进了。


Python相关问题汇总_第2张图片
image.png

4.# module 'pip' has no attribute 'main'

链接
找到安装目录下 helpers/packaging_tool.py文件,找到如下代码:

Python相关问题汇总_第3张图片
image.png

修改:

def do_install(pkgs):
    try:
        try:
            from pip._internal import main
        except Exception as e:
            from pip import main
    except ImportError as e:
        error_no_pip()
    return main(['install'] + pkgs)


def do_uninstall(pkgs):
    try:
        #import pip
        try:
            from pip._internal import main
        except Exception:
            from pip import main
    except ImportError:
        error_no_pip()
    return main(['uninstall', '-y'] + pkgs)

复制即可,自己打可能出现第2,3点问题

5.View function mapping is overwriting an existing endpoint function

定义了多个同名的视图函数,只需要改成不同的函数名即可。

6.Requirement already up-to-date: pip in d:\python_project\pyflaskdemovir\lib\site-packages (18.1)

pip更新及Requirement already up-to-date解决方法

7.Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 480")

暂时不影响功能

7.mysqlclient-1.3.13-cp34-cp34m-win_amd64.whl is not a supported wheel on this platform

原因是,下载的版本跟你的python版本不一致,如果你的pyhton 是64位3.7几,就需要对应下载cp37-amd64
下载地址
复制到你的虚拟环境下的D:\Python_project\Flask_shiyanlouenv\Scripts目录下,用pip install 下载的文件名来解压
eg:

image.png

8.Mysql忘记密码

参考链接
我的操作步骤是,
1.检查mysql的环境变量配置是否完全,不能在dos下使用mysql的话,查看安装路径并设置成环境变量。我是是

C:\Program Files\MySQL\MySQL Server 5.7\bin

你可以在mysql控制台,show variables like "%char%";查看
参考
2.停止mysql的服务 net stop mysql,如果停止失败或者开启失败,可到任务管理器中去停止mysql服务
3.开启一个cmd,执行mysqld -nt --skip-grant-tables
4.在开启一个cmd,执行mysql -u root -p如果此时提示mysql不是内部命令,说明你的环境变量没安装好.参考
5.进行第4步后,让输入密码,直接按enter进入
6.修改密码,依次执行

第一步:  use mysql
第二步: update user set password=password("new_pass") where user="root";// 'new_pass' 这里改为你要设置的密码
第三步: flush privileges;
第四步:exit

最后重新打开mysql,输入刚才设置的密码就ok 了
其他资料参考默认密码

8.UnicodeEncodeError: 'latin-1' codec can't encode characters in position 6-7: ordinal not in range(256)

image.png

9.Cannot add or update a child row: a foreign key constraint fails

删除表,重新创建

10.解决IntelliJ IDEA中git出现的 Could not read from remote repository问题

在Settings->Version Control->Git中,将SSH executable设置为Native即可,如图,红色方框中是要修改的地方。
链接

11.PermissionError: [Errno 13] Permission denied: 'D:\Python_project\Shiyanlou\file\courses.xlsx'

使用openpyxl进行文件保存时提示,原因是没关闭文件。所有关闭你打开的文件就能正常保存啦

12.#flask from app import db ImportError: cannot import name ‘db’ 的解决方案

在app的init下,注册了蓝图并且初始化数据库的,在其他地方导入db,显示导入错误。
app下的__init__.py中,db = SQLAlchemy() 位于blueprint之前
参考资料

13.Scrapy运行ImportError: No module named win32api错误

有些说下载对有https://github.com/mhammond/pywin32/releases,py32的版本,我的是下载了也不行,直接安装了

pip install pypiwin32

14.SyntaxError: unexpected EOF while parsing

一般是最后一行括号没补全,或者写了for循环没写循环体,因为解释器到底了度没找到它要找到的东西

15.scrapy出现:AttributeError: 'list' object has no attribute 'xpath'

for article in response.xpath('//div[@class="j-r-list"]/ul/li').extract()
应该去掉extract()

16.Pychorm注册码

参考资料,使用第三步破解补丁激活,完美只需三步

17.在使用flask时,发现修改了路由,原来的还是能用,修改的找不到url,新增的路由也是

后面发现的原因可能是,运行了其他的项目,导致了端口的冲突,即使F5+ctrl强制清除缓存也不行。我重新关机,启动,这下子就能行了。以后还是一个项目保持不同端口

18.Pycharm2018设置debug模式与host,port的坑

Additinal options栏 中:手动写入 --host=127.0.0.2 --port=1234

19.

Python相关问题汇总_第4张图片
image.png

20.flask-mail提示AssertionError: No recipients have been added

原因,发送消息用send(message).使用send_message(message)就报错了

20.Mysql显示乱码

在my.ini中设置了utf8,中文任然显示乱码,在mysql执行查询前,cmd默认编码是GBK,而mysql默认使用的是utf-8 所以你可以设置cmd为gbk;,设置 set charset gbk;在进行查询就能正常显示了。
mysql命令窗口显示乱码怎么解决?

Python相关问题汇总_第5张图片
image.png

21.selenium.common.exceptions.WebDriverException: Message: unknown error: Element ... is not clickable at point (884, 436). Other element would receive the click:

使用selenium分页时,提示,点击事件被别的接收了

22.selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH.

在创建的时候,定义browser=webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe')

23.UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead(warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

Selenium 已经弃用 PhantomJS ,请使用火狐或者谷歌无界面浏览器。
查找之后得到答案时selenium的版本问题,使用pip show selenium显示默认安装的是3.8.1版本
卸载之后重新pip install selenium==2.48.0安装成功

24.Command "python setup.py egg_info" failed with error code 10 in C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-fhgsebqh\pycurl\

win10下安装pyspider出错,到地址下载对应的版本。复制到虚拟环境下的scripts中,进行pip install 安装。参考:参考文件

image.png

在进行安装pyspider就ok了

25.Target database is not up to date

出现这个原因是数据库中的版本和 生成的版本不一致
我在偶然子删除了versions,的所有.py文件,执行migrate的时候,提示找不到05d75fbd0C2,py。说明最近的数据迁移用的是05d75fbd0C2.py的文件,日期是2018-11-15 1:14:59,我发现另外的e1818953642c.py的日期是11-15-21:21,时间是更晚的,根据该文的提示,删除了 项目中删除和数据库中相同版本后面日期的版本的 .py 文件,即e1818953642c.py.然后在执行

Python相关问题汇总_第6张图片
image.png

26.Can't locate revision identified by '57c816829403'

发现在两台电脑来回切换的话,容易出现25的问题,比如在公司一台,回家一台,在某一台更新了数据库,在另外一台还是以前的版本,所以运行迁移的时候,就会报25,或者26的错误。现在是,直接删除

Python相关问题汇总_第7张图片
image.png
红框中的数据库,并且,在删除
Python相关问题汇总_第8张图片
image.png

重新 python manage.py db init
python manage.py db migrate
python manage.py db upgrade这样子数据不会丢失.

27. pychorm使用vue,提示# Uncaught ReferenceError: Vue is not defined 当出现这个问题的原因及处理

把vue.js放在顶部参考

28.No application found. Either work inside a view function or push an application context.

参考资料

from  simpledu.app import create_app
app=create_app("development")
app.app_context().push()

29.Python提示object is not subscriptable的错误

subscriptable的意思是 可有下标的 意思
错误的原因就是把不具有下标操作的对象用成了对象[i],比如int对象变量[i]就会报错。仔细检查错误行。

30TypeError: get() takes no keyword arguments

字典get方法,get("a",default="b")报错,不写default,直接写get("a","b")

30,semantic ui 图标不能正常加载

参考
复制 解压包中的fonts以及images到项目的static下,修改成 .. /fonts.参考资料中的就行

31.django在关闭debug后,静态文件无法加载的解决办法

32.django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))

mysql不支持5.5了
Ubuntu安装MySQL及遇到的问题解决方案

unbuntu下mysql升级,问题相关

参考资料
Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)
mysql升级相关

34,Django jwt 自定义登录错误

参考资料
1.安装该文档对照修改,
https://github.com/GetBlimp/django-rest-framework-jwt/pull/317/commits/c3a4c3fc5180473a92a94af07613463b2bc2b325?diff=split
修改好之后就能提供该功能
settings.py中设置

JWT_AUTH = {
    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=7),
    'JWT_AUTH_HEADER_PREFIX': 'JWT',
    'JWT_RESPONSE_PAYLOAD_HANDLER': 'app_news.api.jwt_response_payload_handler',
    'JWT_RESPONSE_PAYLOAD_ERROR_HANDLER': 'app_news.api.jwt_response_payload_error_handler',

}

注意:app_news.api这个根据你的路径修改。
api.py中设置方法,方法里自己设置想要的结构把

def jwt_response_payload_handler(token, user=None, request=None):
      return {
        ‘token’: token,
        ‘user’: UserSerializer(user, context={‘request’: request}).data
    }


def jwt_response_payload_error_handler(serializer, request=None):
    return {
        'status': 200,
        'message': "用户名或者密码错误",
        'data': None
    }

35.Django django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet

原因是我想写了个脚本,运行脚本提示了这个。解决办法
第一步,在urls,中设置

import os,django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xxxx.settings")
django.setup() 

第二步脚本中设置

要使用model,需要提前导入urls
import AI_News.urls
from app_news.models import NewsTag

36 导入项目执行 run manage.py task 报错找不到xx.settings

注意你导入的项目的,django项目目录位置,一定根项目导入

你可能感兴趣的:(Python相关问题汇总)