精华内容
下载资源
问答
  • pip升级安装难题(已解决):WARNING: You are using pip version 20.0.2, however version 20.2.3 is available. 问题描述:反正就是提示pip升级失败呗,一直提示如下图错误信息: 我们都知道,想要进行pip升级,...

    pip升级安装难题(已解决):WARNING: You are using pip version 20.0.2, however version 20.2.3 is available.

    问题描述:反正就是提示pip升级失败呗,一直提示如下图错误信息:
    如何去掉这里面的图片水印
    我们都知道,想要进行pip升级,其实只要在命令行运行以下代码即可:

    python -m pip install --upgrade pip
    

    但是由于种种原因,该联网直接下载更新包的方法总是会被不知名的原因打断,并反复提示上图的错误。经过种种尝试和网络上资料搜寻,本人终于试出一种可行方法,其需要三个注意事项:

    1.不要直接win+R然后cmd,而是要选择“开始”—“Windows系统”—“命令提示符”—右键“以管理员身份运行”!!!
    2.不要用家用WiFi,开手机热点连接!!!
    3.管理员身份运行命令提示符后,使用镜像下载升级!!!代码如下:

    python -m pip install --upgrade pip -i https://pypi.douban.com/simple
    

    最后,就成功了。

    由于我成功后睡了一觉才意识到要写这篇博客(本人第一篇),所以带进度条的截图没得了,只有现在20.2.3版本pip安装成功的截图如下。
    在这里插入图片描述

    展开全文
  • Android APP自动升级安装失败

    千次阅读 2018-09-24 17:32:45
    ##Android APP自动升级安装失败 ###概述 自动升级在APP中是一个非常常见的功能,当你的应用有更新时,可以提醒用户升级甚至在必要时可强制用户升级。但随着系统版本的更新,安装apk的权限也在收紧,导致一些APP在高...

    Android APP自动升级安装失败

    概述

    自动升级在APP中是一个非常常见的功能,当你的应用有更新时,可以提醒用户升级甚至在必要时可强制用户升级。但随着系统版本的更新,安装apk的权限也在收紧,导致一些APP在高版本的机器上升级失败。这时就有必要了解一下如何处理这样的问题了。

    权限机制

    在Android7.0的发布介绍中提到了一些文件系统权限方面的修改。官网:https://developer.android.google.cn/about/versions/nougat/android-7.0-changes

    以下是官网的译文(用google翻译的网页)

    权限更改

    Android 7.0包含可能会影响您的应用的权限更改。

    文件系统权限更改

    为了提高私人文件的安全性,针对Android 7.0或更高版本的应用的私人目录限制了访问权限(0700)。此设置可防止私有文件的元数据泄漏,例如其大小或存在。此权限更改有多种副作用:

    所有者不应再放宽私有文件的文件权限,并且使用MODE_WORLD_READABLE和/或 尝试执行此操作 MODE_WORLD_WRITEABLE将触发a SecurityException。

    注意:截至目前,此限制尚未完全执行。应用程序仍可使用本机API或FileAPI 修改其私人目录的权限。但是,我们强烈建议不要放宽对私人目录的权限。

    file://在包域外 传递URI可能会使接收者无法访问路径。因此,尝试传递 file://URI触发器a FileUriExposedException。共享私有文件内容的推荐方法是使用FileProvider。

    该DownloadManager可以通过文件名不再私下共享存储的文件。传统应用程序在访问时可能会以无法访问的路径结束COLUMN_LOCAL_FILENAME。针对Android 7.0或更高版本的应用会SecurityException在尝试访问时 触发COLUMN_LOCAL_FILENAME。通过使用DownloadManager.Request.setDestinationInExternalFilesDir()或 DownloadManager.Request.setDestinationInExternalPublicDir() 仍然可以访问路径 来将下载位置设置为公共位置的旧应用程序 COLUMN_LOCAL_FILENAME,但强烈建议不要使用此方法。访问由文件公开的文件的首选方法DownloadManager是使用 ContentResolver.openFileDescriptor()。

    在应用之间共享文件

    对于定位到Android 7.0的应用,Android框架会强制执行StrictModeAPI策略,禁止file://在应用外部公开URI。如果包含文件URI的intent离开您的应用程序,则该应用程序将失败并显示FileUriExposedException异常。

    要在应用程序之间共享文件,您应该发送content://URI并授予URI临时访问权限。授予此权限的最简单方法是使用FileProvider该类。有关权限和共享文件的详细信息,请参阅共享文件。

    大意就是说文件的访问权限提高了,不能直接使用file://的方式来共享文件了,应该使用
    content://URI的方式来共享文件,并使用FileProvider类来授权。

    应对方法

    老代码一般都是用下面这样的代码来安装下载下来的apk的:

     public static void installAPk(Context context, File apkFile) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            Uri uri = Uri.fromFile(apkFile);
            intent.setDataAndType(uri, "application/vnd.android.package-archive");
            context.startActivity(intent);
        }
    

    但7.0以上要求使用FileProvider来授权访问文件。

    根据官方的指引:https://developer.android.google.cn/reference/android/support/v4/content/FileProvider,大概需要以下几个步骤:

    1. 定义FileProvider
    2. 指定可用文件
    3. 生成文件的URI
    4. 授予URI临时权限
    5. 向另一个应用程序提供内容URI

    下面来一一介绍一下这几个步骤:

    一、定义FileProvider

    在AndroidManifest.xml文件中注册provider

    <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.xbd.file.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <!-- 元数据 -->
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/update_apk_paths" />
    </provider>
    

    解释一下几个参数的含义:

    android:name
    文件提供者的类名,固定为"android.support.v4.content.FileProvider",如果你很牛逼也可以自己写一个类并继承"android.support.v4.content.FileProvider",然后实现一些扩展的功能。

    android:authorities
    权限的名字,用于标识provider提供的内容,可以有多个名字,各名字之间用“;”隔开。为了不和其它名字冲突一般使用域名的形式来描述

    android:exported
    内容提供者是否可供其他应用程序使用,在这里不需要,所以填false

    android:grantUriPermissions
    是否授权给那些本来无权限访问的人临时访问内容提供者提供的内容,这里填true,不然就没法访问到这个文件了。

    二、指定可用的文件

    为了指定需要访问的文件,需要在一个xml文件中指定被访问文件的存储路径。
    在res目录下新建一个xml文件夹,然后新建一个文件:update_apk_paths.xml(文件名自己随意起),内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <paths>
        <!--
        files-path:          该方式提供在应用的内部存储区的文件/子目录的文件。
                              它对应Context.getFilesDir返回的路径:eg:”/data/data/com.jph.simple/files”。
    
        cache-path:          该方式提供在应用的内部存储区的缓存子目录的文件。
                              它对应getCacheDir返回的路径:eg:“/data/data/com.jph.simple/cache”;
    
        external-path:       该方式提供在外部存储区域根目录下的文件。
                              它对应Environment.getExternalStorageDirectory返回的路径:
    
        external-cache-path: 该方式提供在应用的外部存储区根目录的下的文件。
                              它对应Context#getExternalFilesDir(String) Context.getExternalFilesDir(null)
                              返回的路径。eg:”/storage/emulated/0/Android/data/com.jph.simple/files”
        -->
        <cache-path name="update" path="" />
    </paths>
    </resources>
    

    paths元素下可以有很多子元素,如files-path、cache-path、external-path等,意义在上面的注解中都说明了。这里我使用了 cache-path,也就是说我的apk文件存放在了内部存储区的缓存目录中。

    name=“update”
    相当于下面的path的别名,为了把真实的路径隐藏起来,这样就只能看到别名,如果按照这个别名路径去找文件的话肯定是找不到的。这个别名自己随便取,我把它叫做“update”

    path=""
    代表你要分享的真实的子目录名,空字符串代表根目录,注意该值必须是一个子目录,不能是文件名

    综合来讲,以上配置表明:我要分享一个目录供其它人访问,这个目录就是内部存储区的缓存目录的根目录,即 getCacheDir()的返回值。所有根目录及其子目录下的文件都可以被访问,同时我为这缓存目录取了一个别名叫“update”,以混淆视听。

    然后将上面的update_apk_paths.xml文件链接到AndroidManifest.xml中定义的provider中,也就是定义中的“元数据”的内容

    <!-- 元数据 -->
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/update_apk_paths" />	
    

    android:name
    代表资源的类型,此处为固定值"android.support.FILE_PROVIDER_PATHS"

    android:resource
    代表资源文件,即update_apk_paths.xml,但是不要后缀名

    三、生成文件的URI

    用以下方式生成文件的Uri:

    Uri apkUri = FileProvider.getUriForFile(context, "com.xbd.file.provider", apkFile);
    

    其中,第二个参数"com.xbd.file.provider"是在AndroidManifest.xml文件中声明的provider中 android:authorities元素的值,第三个参数apkFile就是下载下来的保存在缓存目录下的apk文件

    四、授予URI临时权限

    授权有很多种方式:这里只说一种,就是通过Intent addFlags()方法,如:

    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    

    五、向另一个应用程序提供内容URI

    用startActivity(intent)启动一个应用就可以了,被启动的应用就有权限访问你提供的文件了,但要注意必须添加这句:

    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    

    实用代码

    综合以上分析,可将原来安装apk的代码改成以下的样子:

    public static void installAPk(Context context, File apkFile) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            // 7.0 以上
            Uri apkUri = FileProvider.getUriForFile(context, "com.xbd.file.provider", apkFile);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
        } else {
            // 7.0以下
            Uri uri = Uri.fromFile(apkFile);
            intent.setDataAndType(uri, "application/vnd.android.package-archive");
        }
        context.startActivity(intent);
    }
    

    当然,还要有前面介绍的配置一起配合使用。



    由于水平有限,如果文中存在错误之处,请大家批评指正,欢迎大家一起来分享、探讨!

    博客:http://blog.csdn.net/MingHuang2017

    GitHub:https://github.com/MingHuang1024

    Email: MingHuang1024@foxmail.com

    微信:724360018

    展开全文
  • 电脑安装完vs2010后打开,出现提示说需要升级安装Service Pack 1,点“此处”打开链接发现也找不到资源了,

    电脑安装完vs2010后打开,出现提示说需要升级安装Service Pack 1,在这里插入图片描述
    点“此处”打开链接发现也找不到资源下载了。

    在网上找到了个sp1在线升级包,
    在这里插入图片描述在这里插入图片描述
    安装后vs2010可以正常使用了。

    vs2010 sp1 下载:
    https://download.csdn.net/download/qq_37784387/11868925

    展开全文
  • NodeJS v0.10.8升级安装

    万次阅读 2013-05-27 16:52:35
    NodeJS v0.10.8升级安装作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、环境OS:Ubuntu 13.04NodeJS升级前:node v0.10.5NodeJS升级后:node v0.10.8二、安装过程从官网下载Node.js源码版:...

    NodeJS v0.10.8升级安装

    作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

    一、环境

    OS:Ubuntu 13.04
    NodeJS升级前:node v0.10.5
    NodeJS升级后:node v0.10.8

    二、安装过程

    从官网下载Node.js源码版:http://nodejs.org/dist/v0.10.8/node-v0.10.8.tar.gz

    $ cd node-v0.10.8
    $ sudo ./configure
    $ sudo make
    $ sudo make install

    整个安装一切正常。验证安装:
    $ node -v
    v0.10.8

    但是,之前在升级安装0.10.7版时就存在安装错误。如下所示。

    大约一周多前,Node.js官方发布了0.10.7版,我准备升级到最新版本。
    下载Node.js的源码版本,地址为:
    http://nodejs.org/dist/v0.10.7/node-v0.10.7.tar.gz

    解压源码包:
    $ tar zvxf node-v0.10.7.tar.gz
    $ cd node-v0.10.7
    $ ./configure

    报错:
    gyp: /home/chszs/node-v0.10.7/deps/openssl/openssl.gyp not found (cwd: /home/chszs/node-v0.10.7) while loading dependencies of /home/chszs/node-v0.10.7/node.gyp while trying to load /home/chszs/node-v0.10.7/node.gyp
    Error running GYP

    一直未能解决,但在v0.10.8版中问题消失了。
    展开全文
  • Centos6.5升级安装openssh7.7p1

    千次阅读 2018-06-13 23:57:21
    Centos6.5升级安装openssh7.7p1 因centos7自带的ssh版本较低,存在高危漏洞,故升级到最新版本(目前是7.7pl)。注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好先安装vnc...
  • pip升级安装

    万次阅读 2016-02-14 23:55:01
    Pypi即Python包索引功能,它是Python编程语言的一个...有时候安装软件出错,可能是pip的版本过低导致,这个时候就要升级pip了。 1、查看pip的版本号 pip --version 2、升级方法 On Linux or OS X:
  • pip升级安装pyMysql

    千次阅读 2016-10-09 13:44:37
    mysqldb支持到python3.4,python3.5可以借用pymysql链接mysql数据库...安装pymysql  升级pip到最新版本  python -m pip install --upgrade pip 升级pip  安装pymysql  pip install PyMySQL​
  • 升级安装php7要考虑的3个重要方面

    千次阅读 2017-12-07 14:14:00
    php7从推出到现在,前两天官方已经发布到7.2版本,把自己升级和安装php7中遇到的问题和解决方法做一个笔记, 内容主要包括: 1) mysql ... 3) nginx ...当然你可能遇到比我更多的问题需要...升级安装php7要考虑的几个
  • Ubuntu下升级安装gcc-7.5.0教程

    千次阅读 2020-05-22 14:33:28
    最近的工作中需要用到高版本的gcc,系统自带的是5.4.0版本的,这里需要安装的高版本的是7.5.0的,安装过程也是比较坎坷的,也是因为没有搞过这个东西,不熟悉,所以踩了很多坑,耽误了很多时间,不过实践也是学习的...
  • CentOS7.2升级安装PHP7

    千次阅读 2017-03-11 17:51:21
    升级下phpmyadmin到最新正式版4.6.6,然而运行新版phpmyadmin后报了个错,说我的php(版本貌似是5.46)版本低了,...捣扯了一番,发现不能直接升级php(或许因为我比较菜),于是结合php官方文档使用以下方式安装php7
  • 升级安装Windows10后,会在盘下边产生一个叫做“Windows.old”的大文件,足足15G有余,咱们怎么能够删除呢,今天就给大家讲讲如何正确删除(尽量不要用强力删除软件)
  • 升级安装gcc-5.4.0

    千次阅读 2018-08-27 16:45:41
    转载... 1、准备工作 系统自带的gcc版本为4.4.7,升级至5.4.0版本,需要提前准备以下安装包:  gcc-5.4.0.tar.gz 安装包 http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz gmp-4.3....
  • Linux升级安装GCC g++

    千次阅读 2016-07-30 14:54:17
    最近要安装几个软件要求gcc 4.8+,无奈只能手动升级gcc。 1. 下载最新版本gcc gcc当前最新版本是5.2,下面是我找到的两个下载镜像,下载速度还可以,都可以使用: wget ...
  • centos7内核升级安装和源代码安装

    千次阅读 2018-08-09 10:57:57
    1、内核版本含义  #查看内核 uname -r  3.10.0-862.el7.x86_64 ...进行模块安装 会安装到/lib/modules内  查看 /lib/modules   完成后之后 ,执行 make install 进行内核安装     
  • 今天调试自己开发的一款企业级App,发现通过之前的url无法升级安装企业应用,一直提示“无法安装应用程序 因为http://xxx.xxx.xxx证书无效”,折腾了一番,终于在StackOverFlow上找到了答案。在这里分享给大家。 ...
  • Linux升级安装GCC G++ 6.2

    万次阅读 2016-11-24 17:26:03
    使用yum安装是不可能了,各大仓库也没有,只能自己编译安装了。 系统为CentOS 6.5,gcc为4.4.7 1 下载源代码包 当前最新版为6.2: wget http://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2 也可以自行下载...
  • Ubuntu6.10 居然不能升级安装

    千次阅读 2006-10-31 09:22:00
    因为它根本没有提供”升级安装“这个选项(至少在我的电脑上是这样)。在网上搜了一下,很多人反映升级后有这样那样的问题,但在我这里,根本就不给我升级的选项,只能重新格式化ext3分区,重新安装。 Ubuntu的安装...
  • Mac命令行方式升级安装JDK

    万次阅读 2017-02-16 13:06:35
    命令行方式安装步骤如下: 1. 下载dmg安装包 下载URL:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR 2. 安装前环境检查 java version ...
  • VirtualBox升级安装extpack失败

    千次阅读 2013-12-08 19:32:35
    如果升级VirtualBox后,需要升级Oracle_VM_VirtualBox_Extension_Pack,在升级过程中可能会报如下错误: The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the ...
  • Linux系统下如何升级安装Python3.7.1

    千次阅读 2018-09-10 11:09:31
    前提: 利用xshell以及xftp连接上你的虚拟机 ...2:一般Python都是默认安装在usr/bin路径下的,我们,我们利用xftp查看usr/bin下面的文件,可以找到Python2.6,如下所示: 3:在正式开始安装Python3之前,先把...
  • iOS App升级安装 - CoreData数据库升级

    万次阅读 2012-11-20 12:41:10
    如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表、字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下: 1.选中你的mydata.xcdatamodeld文件,选择菜单editor-...
  • Zabbix4.2升级安装至4.4版本

    千次阅读 2019-10-28 15:34:25
    升级zabbix server安装源: 上面的是官方的,下面是个人测试: # rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm 3.升级zabbix相关组件,因为这些...
  • nvm淘宝源升级安装最新稳定版nodejs

    千次阅读 2018-06-14 00:25:56
    为了在服务器上面升级nodejs,用nvm下载实在太慢了,推荐淘宝源安装命令,非常快能安装好: 第一步: NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node 第二部: nvm install stable 完成!...
  • Ubuntu 16.04 升级安装 protobuf 3.6+

    千次阅读 2019-04-25 14:24:21
    但是这些源并不是ubuntu的稳定源,虽然能安装成功,但是相关依赖也会跟着升级,很容易把系统弄崩溃,非常不建议这么做。正如本文遇到的情况,系统的桌面和渲染都依赖 li bprotobuf的低级版本,如果升级覆盖掉这些库...
  • 升级安装APK兼容Android7.0,解决FileUriExposedException

    万次阅读 多人点赞 2017-03-28 17:44:34
    我们在开发app时避免不了需要添加应用内升级功能。当app启动时,如果检测到最新版本,将apk安装包从服务器下载下来,执行安装安装apk的代码一般写法如下,网上随处可以搜到 public static void installApk...
  • Centos6/7升级安装git

    千次阅读 2018-02-07 17:45:46
    第一步:卸载旧的git版本、 yum remove git 第二步:下载git wget --no-check-certificatehttps://www.kernel.org/pub/software/scm/git/git-2.8.4.tar.gz...第四步:安装依赖包: yum in
  • ArcGIS 10.1 升级安装至 ArcGIS 10.2

    千次阅读 2013-09-18 09:21:38
    arcgis 10.2支持从10.1直接升级 相比于卸载旧版本再安装新版本要花费的时间 同时保留各项自定义设置 显然升级是非常节约时间的选择 升级步骤
  • centos 6 升级安装 php5.6

    千次阅读 2014-09-28 00:00:00
    centos默认带了php5.3,现应使用yii2, 需要安装php5.5以上版本,考虑使用最新的php5.6 ,安装
  • 务器的CentOS 7中自带的python版本是python-2.7.5,需要再安装一个python-3.8.1 一、查看版本 安装前查看一下是否已经安装过python,我这里自带了python2.7.5版本,所以需要在不删除的情况下,在安装一个python...
  • centos7下perl的升级安装

    千次阅读 2018-06-21 14:34:29
    # 手动安装一定要先把依赖检测一下,先安装依赖 cpan安装 使用Perl自带的模块——CPAN.pm模块 perl -MCPAN -e shell # 第一次进入选站点 Terminal does not support AddHistory. cpan shell -- CPAN ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,459
精华内容 29,783
关键字:

升级安装