当我尝试使用pip命令时,stdout中会出现恼人的消息:
~# pip -V
Platform: linu
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
~# pip install
Platform: linu
You must give at least one requirement to install (see "pip help install")
Python命令正常工作。
OS - Ubuntu 14.04
我尝试重新安装pip和所有依赖项,但它没有帮助。
它是什么?它来自何处?
当我尝试为AWS使用ec2.py动态库存脚本时,注意到了这个问题。我遇到了同样的问题: https://github.com/ansible/ansible/issues/14667
ec2.py生成JSON并启动" 平台:linu "因此,ansible并不适用。 我还搜索了boto库(用于ec2.py)和pip配置。但他们是空白的。
有什么建议吗?
~# python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.name
posix
>>> import platform
>>> platform.system()
'Linux'
找到了另一种重现问题的方法:
:/usr/bin# python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import os
>>> import boto
Platform: linu
>>>
答案 0 :(得分:0)
这是常见的错误。大多数这种奇怪的问题都发生了(无论是在普通的PC,VM还是在内部的云实例中,例如EC2。您是否注意到AWS EC2使用的是另一个锁定的pip版本)在sudo模式下运行Python。
不要在sudo模式下运行PIP!
我的建议:setup Virtualenv并在virtualenv上安装你的软件包。然后使用mkvirtualenv yourenv
创建自定义virtualenv。
要使用指定的virtualenv自动加载python脚本,只需在bash脚本中添加一行以触发python包/模块。
source <virtualenv_folder>/<virtualenv_name>/bin/activate