python的问题_Python开发中的问题总结

正 文:

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

* pip安装镜像

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

* 安装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命令行窗口,如:

201921220445938.png

我们打包成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,选择正确的编译器,比如全局的已安装第三方包的编译器:

201921220464952.png

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

首次创建项目时:

201921220475321.png

注意勾选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

from tomorrow import threads

File"D:\Python\Python37\lib\site-packages\tomorrow\__init__.py", line 1,in

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 就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值