前置条件:
已经配置了pytest运行的环境变量,为什么在操作的时候找不到呢?
但是如果运行命令为 python -m pytest
就能成功执行,查了一下说这种方法是将脚本作为一个模块导入,不是很能理解。
问题
1、python -m应该怎么理解呢?
前置条件:
已经配置了pytest运行的环境变量,为什么在操作的时候找不到呢?
但是如果运行命令为 python -m pytest
就能成功执行,查了一下说这种方法是将脚本作为一个模块导入,不是很能理解。
问题
1、python -m应该怎么理解呢?
>>> python xxx.py # 直接运行
>>> python -m xxx # 相当于import,将库中的python模块用作脚本去运行
主要区别在于 sys.path
不同
直接运行会将该脚本所在目录添加至 sys.path
当做模块启动则会将当前运行命令的路径添加至 sys.path
运行该脚本所在的目录 VS 当前运行命令的路径(如果在被运行脚本的目录下) 那岂不是一样的路径吗?
添加路径那里明白了,谢谢老师
关于这一点的意思,是指-m的时候,会把pytest命令运行的路径自动放到sys.path下面吗?
一般第三方库使用pip的方式安装都会安装在 site-package/路径下,你可以打印一下sys.path ,python 会在这里面的路径列表中顺序查找。
明白你说的这点,现在比较模糊就是加上-m的时候,是把什么东西放到了sys.path下面呢?