虽然使用python有不少时间了,但是基本没有在windows环境下使用,这不就踩了不少坑,特此记录如下:
安装完成后,发现没有python命令,这个是环境变量的问题,添加就可以了。但是也找不到pip 命令,而进入python里面,可以import pip 模块。这时候,需要用“python -m ensurepip ” 来生成pip命令了,生成之后添加到环境变量就可以直接使用了, 默认情况下pip的路径: Python_install_path\scripts\pip.exe , 在较新的python版本里面,已经默认会生成pip 命令,也就是说不需要上述步骤就有pip 命令可以使用了.需要注意的是: 如果遇到执行pip.exe 时候报错: Fatal error in launcher: Unable to create process using '"' , 那么可以尝试用: python FULL/PATH/OF/PIP/COMMAND 来替带直接运行 pip, 貌似是无法找到合适的解释器来运行pip造成的.
如果发现系统中已经安装了python,但是缺少需要的module, 需要自己安装,可是不是管理员权限,没办法安装,python 提供了解决办法,方法如下: A. 使用python -m site 命令,该命令会输出python的sys.path变量的值,以及其他的变量,见如下内容,其中我们可以看到有两个变量:USER_BASE, USER_SITE. 我们可以把需要的module 安装到USER_SITE下. 如果不存在相应的路径,那么我们可以创建.
C:\Users\XXXXX>python -m site
sys.path = [
'C:\\Users\\XXXXX',
'C:\\Python36-32\\python36.zip',
'C:\\Python36-32\\DLLs',
'C:\\Python36-32\\lib',
'C:\\Python36-32',
'C:\\Users\\XXXXX\\AppData\\Roaming\\Python\\Python36\\site-packages',
'C:\\Python36-32\\lib\\site-packages',
'C:\\Python36-32\\lib\\site-packages\\win32',
'C:\\Python36-32\\lib\\site-packages\\win32\\lib',
'C:\\Python36-32\\lib\\site-packages\\Pythonwin',
]
USER_BASE: 'C:\\Users\\XXXXX\\AppData\\Roaming\\Python' (exists)
USER_SITE: 'C:\\Users\\XXXXX\\AppData\\Roaming\\Python\\Python36\\site-packag
es' (exists)
ENABLE_USER_SITE: True
B. 有了上述的路径后,我们在安装3rd module 的时候,就可以指定安装路径了: pip install MODULE_FILE.PY --target=ABOVE\USER_SITE\PATH 上述方式安装之后,只有当前用户可以使用这些新装的module, 其他用户是不可以的.
其实这个不能算windows平台的坑了,一般不能import 都是缺少依赖的问题。 那么我们可以返回pip 命令,首先要知道这个module 的路径,通过路径中其他的信息确认这个module所属的package.