python -m与python --user的作用

  1. python -m功能说明:
    使用示例:python -m xxx.py
    作用是:把xxx.py文件当做模块启动

    python xxx.py
    python -m xxx.py

这是两种加载py文件的方式:
1 叫做直接运行
2 把模块当作脚本来启动(注意:但是__name__的值为’main’ )

不同的加载py文件的方式,主要是影响——sys.path 这个属性。

run.py 内容如下

import sys
print(sys.path)
  • 直接启动:python run.py
    test_import_project git:(master) ✗ python run.py
    [’/Users/sx/Documents/note/test_py/test_import_project’,
    ‘/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip’,
    …]

  • 以模块方式启动:python -m run.py
    test_import_project git:(master) ✗ python -m run.py
    [’’,
    ‘/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip’,
    …]

说明:’'的含义为当前目录。

两者的差异是:直接启动是将文件所在路径放在了python解释器的搜索路径中;模块启动是将当前输入命令的路径加入搜索路径,这会影响到程序中import的导入是否成功。
ImportError: No module named package

  1. python --user功能说明:
    使用示例:pip install --user package_name
    使用–user仅安装在当前用户的路径下,其他用户看不见;虚拟环境中无需使用该配置。
  • 使用pip install package_name安装第三方库时进行全局安装, 即安装的库对于计算机上的所有用户都可见, 其安装目录为:
    your_path_to_python\lib\site-packages(windows)
    your_path_to_python/lib/pythonx.x/site-packages(ubuntu)

  • 使用pip install package_name --user安装第三方库时只对当前用户可见, 其安装目录为:
    C:\Users\your_user_name\AppData\Roaming\Python\Python37\site-packages(windows)
    /home/your_user_name/.local/lib/python3.7/site-packages/(ubuntu)

  • 在虚拟环境下不可使用–user选项, 因为用户目录在该环境下不可见

你可能感兴趣的:(python,pycharm,后端)