最头疼环境问题。
换电脑,原python脚本打成zip包,全部拷贝到新电脑上。一开始放到路径A下,不清楚是路径太长还是路径含有中文,执行失败。于是,更换到路径B,结果,仍然执行失败。Run中显示的信息,仍然显示路径A。查了很多方案,都没有解决,最后自己误打误撞删了cache解决了,记录一下。
1、检查解释器
File -> Settings,检查解释器确实使用了新路径下的虚拟环境
2、检查项目的工作路径
我也不知道该怎么描述,看图吧,下面的Edit Configurations
打开之后检查各个working directory,确保都是新路径B
3、清除cache并重启
File->Invalidate Caches
4、删除__pycache__和.pytest_cache
因是自动化测试脚本,我只删除了case(即测试用例)目录下的cache们,然后,就可以了。
一共做了以上4步,前3步都不管用,最后一步生效了。
不知道它是最后一个馒头,还是,它是唯一的馒头。。。
查了一下__pycache__,不知道重新编译的条件是什么,难道同一天?不过这种小概率事件,应该不会再遇到了吧。。
__pycache__是Python中的一个特殊目录,用于存储已编译的字节码文件(.pyc文件)。 当Python解释器执行一个模块时,它会首先检查是否存在对应的.pyc文件。为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,其中version是模块的预编译版本编码,一般都包含Python的版本号。例如,在CPython发行版3.4中,fibo.py文件的预编译文件就是:pycache/fibo.cpython-34.pyc。这种命名规则可以保证不同版本的模块和不同版本的Python编译器的预编译模块可以共存。脚本在运行之前会首先检查Python文件的最后编辑日期和预编译模块的编译时间,从而决定是否需要重新编译。预编译模块也是跨平台的,所以不同的模块是可以在不同的系统和不同的架构之间共享的。