目录

Python环境变量与引包错误

目录

Python环境变量与引包错误

  • 很多时候我们在Pycharm运行自己的程序是正常的,把源码打包发布到部署机器上时用命令行执行脚本会出现找不到包的问题"ModuleNotFoundError: No module named xxxxxx",大多数情况下是我们的环境变量没有设置正确而导致的错误。这里说一下Python环境变量对于模块导入时的原理。
  • 在一个模块被导入时,Python Virtual Machine会在后台一系列路径搜索该模块,搜索的过程如下:
    1. 当前目录下
    2. 设置的环境变量PYTHONPATH指定的路径列表下
    3. 在Python的安装的路径下
  • 使用 sys.path 可查看当前系统的环境变量。
  • 当迁移程序到一台新机器上时,最方便的是:
    1. 调整系统环境变量,将代码放到系统环境变量的目录中

    2. 在Python的安装路径中 Lib/site-packages 文件夹下新建一个以.pth结尾的文件,比如test.pth, 再将用到的路径写到文件中,以回车符进行换行。

      https://i-blog.csdnimg.cn/blog_migrate/f739cabd310eed6d60fa560612164eed.png