-
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
- 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选项, 因为用户目录在该环境下不可见