什么是“错误:选项 - 单个版本 - 外部管理无法识别”表示什么?

时间:2013-01-12 18:24:33

标签: python pip distribute

error: option --single-version-externally-managed not recognized varions包(包括pip installPyObjC)时,我似乎突然遇到错误astropy。我之前从未见过这个错误,但它现在也出现在没有任何变化的travis-ci构建中。

此错误是否表示过期分发?或者setup.py中有一些错误指定的选项?或完全不同的东西?

8 个答案:

答案 0 :(得分:136)

添加--egg选项

pip install --egg SCons

我使用pip版本1.4.1

答案 1 :(得分:69)

新更新:

安装最新版本的setuptools。如果仍然出现错误,请同时安装wheel

pip install -U setuptools
pip install -U wheel

原始答案/更多详情:

--single-version-externally-managed是一个用于Python包的选项,指示setuptools模块创建一个Python包,如果需要,可以由主机的包管理器轻松管理,如Yum或Apt。

如果您看到此消息,则可能有旧版本的setuptools或Python。尝试使用Distribute,这是一个较新版本的setuptools,并且向后兼容。这些包可能会让你已经拥有它。

https://pypi.python.org/pypi/distribute

编辑:此时,分发已合并到主setuptools项目中。只需安装最新版本的setuptools即可。正如@wynemo指出的那样,您可能希望使用--egg选项,因为它更适合那些您不打算创建系统包以进行分发的手动安装。

答案 2 :(得分:43)

安装wheel解决了最近pip的问题(我使用的是8.1.2):

pip install wheel

答案 3 :(得分:7)

尝试升级setuptools,如下所示:

pip install --upgrade setuptools

答案 4 :(得分:5)

我遇到了这个问题。事实证明,我的pip缓存上的文件权限存在问题。

如果您在点播输出的最开头看到一条消息,如

public class Reg_Status extends AppCompatActivity {
 Context a;
 private ProgressBar pBar;

/* renamed from: com.partners.app.Confmap.1 */
class C01561 extends WebViewClient {
    C01561() {
    }

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }

    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        Reg_Status.this.pBar.setVisibility(ProgressBar.VISIBLE);
    }

    public void onPageFinished(WebView view, String url) {
        Reg_Status.this.pBar.setVisibility(ProgressBar.INVISIBLE);
    }

    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        view.loadUrl(Config.URL_INTERNET_ERROR);
        Reg_Status.this.pBar.setVisibility(ProgressBar.VISIBLE);
    }
}



protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView((int) R.layout.activity_reg_status);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    this.pBar = (ProgressBar) findViewById(R.id.pBar);
    WebView webView = (WebView) findViewById(R.id.wView_reg);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new C01561());
    webView.loadUrl(Config.URL_REG);


}
你可能遇到同样的问题。您可以通过确保对pip缓存具有适当的文件权限(类似The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. )来解决此问题,或者,如果您在UNIX上,则可以使用chown -R $(whoami) /home/ubuntu/.cache/pip设置pip缓存位置env var到你拥有的某个文件夹。

答案 5 :(得分:1)

我想我拥有所有内容的最新版本,并且无法在带有pip3的debian 9系统中安装3.7.1或3.5.3。
不能使用--egg选项: $ sudo pip3 --egg install /home/dick/PY/Python-3.7.1.tgz

用法:
点[选项] 没有这样的选项:--egg

答案 6 :(得分:1)

我尝试了上述解决方案。但是,只有执行以下操作,我才能解决该问题:

sudo pip3 install -U pip(适用于python3)

答案 7 :(得分:0)

当我尝试升级一个python包时,我的macbook上也有这个问题。 我在OS X中检查了pip版本,它太旧了:1.1。 我使用跟随cmd将pip升级到1.5.6

easy_install -U pip

然后修复此错误。