Linux pip命令报错 -bash: pip: command not found—ImportError:No module named XXX
一、Linux pip命令报错 -bash: pip: command not found
$ wget https://bootstrap.pypa.io/get-pip.py # 下载
$ python get-pip.py # 安装
$ pip -V # 查看版本
find / -name pip # 查看安装路径:
ln -sv /usr/local/python/bin/pip /usr/bin/pip # 软连接
若是重新安装的python你需要配置环境变量
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$HOME/bin:/usr/local/python27/bin:/usr/local/bin:$PATH
执行source命令,更新PATH。
source .zshrc
二、ImportError:No module named XXX
以下解决办法是在你已经安装好该模块了,出现问题的解决方法。
shell中运行python程序出错,提示ImportError: No module named schedule
shell中输入python输出的python版本是python 2.7.5
但是/root/anaconda/bin/python 在系统中存在
分别输出了两种场景中的sys.path
shell:
[user@localhost ~]$ python
Python 2.7.5 (default,Aug 7 2009, 18:39:16)
[GCC 4.8.5 20151604 (Red Hat 4.8.5-44)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import sys
>>> print sys.path
['','/usr/local/lib64/python27.zip','/usr/local/lib64/python2.7',
'/usr/local/lib64/python2.7/plat-linux2', '/usr/local/lib64/python2.7/lib-tk',
'/usr/local/lib64/python2.7/lib-old', '/usr/local/lib64/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages']
然后研究了一下sys.patch的生成方式:
A list of strings that specifies the search path for modules. Initialized from the environment variable PYTHONPATH, plus an installation-dependent default.
这个不仅与PYTHONPATH有关系,而且与installation-dependent default有关系,这个估计与python的安装有关系,而且通过上面的sys.path输出发现机器上安装了两个python2.4和2.6,
于是问题就得到了解决,在脚本中使用
/usr/bin/python XXX.py
而不是python XXX.py
或者将XXX.py修改为可执行文件,在python头部添加如下内容
#!/usr/bin/python
python后台运行
https://www.jb51.net/article/156969.htm