背景:
在安装torch的时候,pip install torch 然后安装失败,告诉我需要更新我的pip,于是我更新了自己的pip,就是常规操作:pip install --upgrade pip,更新居然失败了。很神奇,那就再尝试一次吧。然后更神奇居然直接==找不到pip了:ModuleNotFoundError: No module named 'pip'==
操作
$ python -m ensurepip
$ python -m pip install --upgrade pip
解决方式的原地址来自:PyPA » Python Packaging User Guide » Tutorials »
下面有个大标题:Ensure you can run pip from the command line
直接给出来解决办法。
-
为什么会导致这样
我们更新的是pip 包,这个过程失败了,导致原有的pip 也找不到了。主要是环境变量找不到,所以在命令行里面不能直接使用pip指令。可以推测,在安装新的pip过程,会有一步涉及到修改环境变量,让最新的pip写进环境变量里面,但是某种原因失败,导致新的Pip写入失败。所以安装失败。
-
python -m 是个什么鬼,为什么可以解决
python -m 还是一个很有趣的命令,是可以将现成的模块直接进行简单的调用。
python -m pip install --upgrade pip
上面找不到pip并不是因为pip真的不见了,只是命令找不到而已,pip作为python的一个模块,是可以被python检索到的,上面命令可以直接更新PIP。当更新之后命令行又可以使用了
插播一条很有用的命令:python -m http.server 8888
8888 是 端口号,开启之后,进行文件传输,可以通过 wget http://ip:9231/test.txt
这种形式进行传输速度很快,有的时候两台服务器之间scp无法配置(公司里面就是),以及公司服务器有一个传输限制,每次传输稍微大一点的文件就会断开。