飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

Python开发中的问题总结

Author:飘易 Source:飘易
Categories:Python PostTime:2019-2-12 20:49:20
正 文:

本文记录下飘易在Python开发中遇到的一些常见问题:


* pip安装镜像

一般的pip安装由于使用的国外的资源,速度可能比较慢,这个时候可以指定 -i 参数设定国内的镜像,比如 豆瓣的:

pip install PyQt5 -i https://pypi.douban.com/simple

pip install PyQt5-tools -i https://pypi.douban.com/simple


* 安装win32模块:


pipinstall pypiwin32 -i https://pypi.douban.com/simple

包括了:

   _win32sysloader

   _winxptheme

   mmapfile

   odbc

   perfmon

   servicemanager

   timer

   win2kras

   win32api

   win32clipboard

   win32console

   win32cred

   win32crypt

   win32event

   win32evtlog

   win32file

   win32gui

   win32help

   win32inet

   win32job

   win32lz

   win32net

   win32pdh

   win32pipe

   win32print

   win32process

   win32profile

   win32ras

   win32security

   win32service

   win32trace

   win32transaction

   win32ts

   win32wnet

   winxpgui



问题:如何关闭selenium开发中的chromedriver.exe  geckodriver.exe console命令行窗口


采用selenium操作浏览器执行自动化操作的场景时,在使用 pyinstaller 打包成exe文件后,会有chromedriver.exe geckodriver.exe console命令行窗口,如:

我们打包成exe文件一般是要分发到客户电脑上,出现这个窗体不太友好,我们需要把它隐藏掉:

找到python安装目录,比如:

D:\Python\Python37\Lib\site-packages\selenium\webdriver\common\service.py


修改这个文件,先在顶部导入依赖包:from win32process import CREATE_NO_WINDOW

然后找到def start(self) 函数,里面的 subprocess.Popen增加一个参数:creationflags=CREATE_NO_WINDOW


最终改成:

self.process= subprocess.Popen(cmd, env=self.env,
                  close_fds=platform.system() != 'Windows',
                  stdout=self.log_file,
                  stderr=self.log_file,
                  stdin=PIPE, creationflags=CREATE_NO_WINDOW)

也可以直接使用creationflags=0x08000000这样的值。

 

重新打包 pyinstaller -F -w main.py  就可以了。



问题:pycharm 提示找不到模块  No module named 'wx'


应该是pycharm设置的默认python编译器不正确,打开Settings- Project Interpreter,选择正确的编译器,比如全局的已安装第三方包的编译器:



* pyCharm创建可复用的虚拟python运行环境


首次创建项目时:

注意勾选Inherit globalsite-packages Make available to all projects。以后创建其他项目时,选择这个虚拟环境即可,使用这个虚拟环境可以解决一些cannot find reference 'QtWidgets' in '__init__.py 错误,如果使用全局的python环境,pyCharm这里有一些bug的。



问题:第三方模块tomorrow报错:

报错日志如下:

Traceback(most recent call last):
  File"D:/Python/project/chrome/mainfox.py", line 15, in <module>
    from tomorrow import threads
  File"D:\Python\Python37\lib\site-packages\tomorrow\__init__.py", line 1,in <module>
    from .tomorrow import threads
  File"D:\Python\Python37\lib\site-packages\tomorrow\tomorrow.py", line 20
    def async(n, base_type, timeout=None):
            ^
SyntaxError:invalid syntax


解决:async python 3之后是内置关键字,不能使用,重命名一下,找到:

Python37\lib\site-packages\tomorrow\tomorrow.py

async改成 async_tm 就可以了。

 


作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
Tag:Python 开发 浏览(次) 我要评论(0条)
上一篇:没有了
下一篇:C#实现RSA算法加密解密、签名以及签名的验证
0条评论 “Python开发中的问题总结”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有