成为我能成为的人 python&FLASK&pycharm 踩坑

zailushang · 2019年04月24日 · 32 次阅读

1. python3 写中文到文件时,报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-15: ordinal not in range(128)

  • 原因:因为编码问题导致的
  • 解决方案: python csv_f = open(csv_file, 'w', encoding='utf-8')

2.Pycharm 中使用 os、subprocess 等调用 shell 命令出现 sh🇱XXX not found 错误的解决方案

解决方案:https://blog.csdn.net/geo_mai/article/details/83793279
多半是由于你的 pycharm 没有经由 terminal,而是从快捷方式或者其他的方法打开,这种打开方法,pycharm 不会去读取 bashrc 中的环境变量,当然也就找不到某些不在系统底层环境中的命令了

3. Python2.7 Flask SQLAlchemy 报错:ProgrammingError: (_mysql_exceptions.ProgrammingError) / ResourceClosedError: This result object does not return rows. It has been closed automatically.

问题描述:偶尔出现
可能原因:python 操作 mysql 的线程安全问题导致;
参考文档:https://stackoverflow.com/questions/17317344/celery-and-sqlalchemy-this-result-object-does-not-return-rows-it-has-been-clo / https://docs.sqlalchemy.org/en/13/faq/connections.html#commands-out-of-sync-you-can-t-run-this-command-now-this-result-object-does-not-return-rows-it-has-been-closed-automatically

修改方法一(无效):该类问题属于 python SQLAlchemy 的线程管理问题,所以先尝试升级 SQLAlchemy:1.2.8 -> 1.3.3
修改方法二:主要是由 Mysql 的延迟加载导致的,解决方法见:https://docs.sqlalchemy.org/en/13/errors.html#error-bhk3 / https://docs.sqlalchemy.org/en/13/core/pooling.html#pool-disconnects

flask 开启 debug 模式

启动 flask 前,export FLASK_ENV=development
启动 flask:python manage.py runserver -h 0.0.0.0 -p 5000

python2 类型注释

class C:
    foo= None # type:int

    def test(self,h,z):
        # type:(str,object) -> object
        '''
        测试说明
        '''
        pass

上面分别为变量的类型注释和参数的类型注释,请注意函数的注释格式一定要和上面一样,参数列表要对应上,如果不想指定类型就指定为 object,->后面的为返回值类型

python 虚拟环境 pip 安装包在系统环境中

(1)查看虚拟环境 python 路径

(2)指定虚拟环境 python -m pip 安装包

(3)安装成功验证

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册