升级_升级pip - CSDN
精华内容
参与话题
  • C#自动升级程序

    2020-07-29 14:18:26
    大致流程:主程序开机后初始化里面加载升级程序,升级程序读取本地的XML和从服务器下载的XML看是否需要升级,如果升级就下载高版本升级程序,然后关闭当前低版本程序,再打开高版本升级的程序,接在删除第版本程序...
  • 官网终于在11月2号放出了9.0 on-premises的下载链接,有人关心说这次会不会像8.2那样是一个升级补丁,显然不是,是有独立安装包的,从下载页面看到需要的操作系统是windows server2016,但没提到sql的版本,一开始去...

         官网终于在11月2号放出了9.0 on-premises的下载链接,有人关心说这次会不会像8.2那样是一个升级补丁,显然不是,是有独立安装包的,从下载页面看到需要的操作系统是windows server2016,但没提到sql的版本,一开始去查了官网资料,但应该是还没来得及更新所以没查到,最后在安装的时候提示了,需要sql server2016sp2.

         我已经有一台windows server2016的虚机装了D365的8.2版本,我就直接升级了,但点击安装跳出来的弹框就不爽了,提示错误要卸载掉D365 Reporting Extensions,那就卸载吧。

        卸载完继续,到了这一步提示组件缺失,这个在以往经常碰到,点install就好了,但这里神奇的提示失败,既然这样那就手工搜索组件下载吧(当然也可以选择下方的关闭IE增强的安全配置,这个应该和操作系统安全有关,Server2016安全性更加严格),这会又折腾了小半天,这里附上组件下载链接,点下载会弹出组件下载选择框,里面找对应的即可,也可以根据下述的链接一个个下载后安装。

    http://go.microsoft.com/fwlink/?LinkId=2033060&clcid=0x804
    http://go.microsoft.com/fwlink/?LinkId=2032060&clcid=0x804
    http://go.microsoft.com/fwlink/?LinkId=2033106&clcid=0x804
    http://go.microsoft.com/fwlink/?LinkId=2026121&clcid=0x804

        经群里朋友反馈,关闭IE的增强的安全配置即可,这个配置服务器管理中的本地服务器界面,关闭后再回到安装界面点击Install即可下载。

       

        装完组件,看到下图这一步就很爽了,选择一个你要升级的组织,继续Next

         然后就碰到了这个页面,提示我的SQL版本不对,这步的提示告诉我们需要的sql版本最低是2016sp2,我本地装的是sp1,好吧升级吧,到这步我猜测前面那缺失SQL组件就是因为SQL版本低的缘故,你如果升级D365可以试着先把SQL版本升到SP2,那几个组件会不会就有了而不需要你去手工安装了。

        升级完SQL,继续安装顺利Next到最后一步,接着就是等待了。。。。。

         

        

    展开全文
  • npm升级到最新版本

    万次阅读 2019-02-25 21:07:38
    查看npm当前版本 npm -v 如果不是最新版本,运行指令 npm install -g npm 如果想更新到指定版本,运行指令 npm -g install npm@6.8.0

    查看npm当前版本

    npm -v
    

    如果不是最新版本,运行指令

    npm install -g npm
    

    如果想更新到指定版本,运行指令

    npm -g install npm@6.8.0
    
    展开全文
  • node升级的正确方法

    万次阅读 热门讨论 2019-01-29 20:13:05
    注:抱歉之前没有注明该node升级方法为linux环境下的node,现在增加windows下的升级方法。 其实对于一些开源的库或者框架个人还是比较建议直接去相应的官网查看会比较好,而且很多都支持中文版。 贴上node官网。 ...

    注:抱歉之前没有注明该node升级方法为linux环境下的node,现在增加windows下的升级方法。

    其实对于一些开源的库或者框架个人还是比较建议直接去相应的官网查看会比较好,而且很多都支持中文版。

    贴上node官网

     

    本文主要是针对安装了node的用户如何对node进行升级或者安装指定版本;

     

    window安装升级方法:

        安装非常简单,直接在官网点进下载栏下载对应的安装包,我的电脑是64位所以下载的windows 64-bit,下载完成按照引导就可以安装完成。我以前安装过,这里又重新安装了一遍,没什么问题。

    1.安装node指定版本

    windows我暂时没找到可以用来管理node版本的工具,最简单的办法:

      1’先卸载你安装的node版本(不然你运行其他版本的node会提示你已经安装了)。

      2’下载你想要的windows node版本,所有node版本,比如下载8.x的稳定版本。

      3’下载完成点击运行安装,一步到位,环境变量都不用配置。

      4’还是通过node -v命令查看是否安装成功。


    linux安装升级方法(本人用的ubuntu 16.04 LTS):

         没有安装node的可以参考连接linux下node官方安装方法 。

    1.查看node版本,没安装的请先安装;

     $  node -v

      没有安装的可能会提示命令未找到之类的信息。

    2.清楚node缓存;

    $  sudo npm cache clean -f  

    3.安装node版本管理工具'n';

    $  sudo npm install n -g

    4.使用版本管理工具安装指定node或者升级到最新node版本;

    $  sudo n stable  (安装node最新版本)

    $  sudo n 8.9.4 (安装node指定版本8.9.4)

    5.使用node -v查看node版本,如果版本号改变为你想要的则升级成功。

    若版本号未改变则还需配置node环境变量

    1.查看通过n安装的node的位置;

    $  which node  (如:/usr/local/n/versions/node/6.12.3

    2.cd进入/usr/local/n/versions/node/ 你应该能看到你刚通过n安装的node版本这里如:8.9.4;编辑/etc/profile;

    $  vim /etc/profile

    3.将node安装的路径(这里为:/usr/local/n/versions/node/8.9.4)添加到文件末尾;

    #set node path

    export NODE_HOME=/usr/local/n/versions/node/8.9.4

    export PATH=$NODE_HOME/bin:$PATH

    4.wq退出保存文件,编译/etc/profile;

    $  source /etc/profile

    5.再次使用node -v查看node版本,不出意外版本号应该变为你想要的。

    展开全文
  • Android app版本升级的一个简单实现

    千次阅读 2019-05-08 11:10:42
    1升级原理 build.gradle 中 versionCode 1 , versionName “1.0.0” 是升级的关键,versionCode是个int,versionName是个String,其中versionCode每次要升级版本都需要+1,VersionName是给用户看的,让用户知道当前...

    梦想会被现实磨灭,希望我能坚持的长久!

    1升级原理

    build.gradle 中 versionCode 1 , versionName “1.0.0” 是升级的关键,versionCode是个int,versionName是个String,其中versionCode每次要升级版本都需要+1,VersionName是给用户看的,让用户知道当前版本。
    升级原理:
    从服务器获取升级信息,包括versionCode,versionName,升级下载app的地址url,是否强制升级,升级的信息等,然后通过比较本地app的versionCode,决定是否下载app进行升级。

    2一个简单的升级示例

    //获取versionCode
      public static int getVersionCode(Context context) {
            int version = 0;
            try {
                PackageManager packageManager = context.getPackageManager();
                PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
                version = packInfo.versionCode;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return version;
        }
    
    public class UpdateHelper {
        private static final int ALREADY_NEW = 1;
        private static final int SHOWUPDATE = 2;
        private static final int INSTALLUPDATE = 3;
    
        private final String savePath = Environment.getExternalStorageDirectory()
                .getPath() + "/updateload";
    
        private UpdateInfoData mUpdateInfoData;
        private File mDownloadedFile = null;
        private final String defaultPackageName = "testapp.apk";
        private Context mContext = null;
        private boolean mShowToast = false;
    
        public UpdateHelper(Context context, boolean showToast) {
            mContext = context;
            mShowToast = showToast;
            mUpdateInfoData = new UpdateInfoData("0",0,"0","","");
        }
    
        private Handler handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case ALREADY_NEW:
                        if ( mDownloadedFile != null ) {
                        //删除上次已下载的文件
                            if ( mDownloadedFile.exists() ) {
                                if (! mDownloadedFile.delete() ) {
                                    mDownloadedFile.deleteOnExit();
                                }
                            }
                        }
                        if (mShowToast) {
                            Toast.makeText(mContext,
                                    "当前已是最新版本.", Toast.LENGTH_SHORT)
                                    .show();
                        }
                        break;
                    case SHOWUPDATE:
                        showUpdateDialog();
                        break;
                    case INSTALLUPDATE:
                        installUpdate();
                        break;
                }
            }
        };
    
        public void checkUpdate(final boolean reportResult) {
            try {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        boolean isNewVersionAvailable = false;
                        if (getServerVersionInfo()) {
                            String lastestVersionCode = "0";
                            if ( mUpdateInfoData != null ) {
                                if (mUpdateInfoData.getLastestVersionCode() != null) {
                                    lastestVersionCode = mUpdateInfoData.getLastestVersionCode();
                                }
                                if (Integer.parseInt(lastestVersionCode) > UpdateUtil.getVersionCode(mContext))
                                    isNewVersionAvailable = true;
                            }
                        }
    
                        if (isNewVersionAvailable) {
                            Message msg = new Message();
                            msg.what = SHOWUPDATE;
                            handler.sendMessage(msg);
                        } else {
                            if (reportResult) {
                                Message msg = new Message();
                                msg.what = ALREADY_NEW;
                                handler.sendMessage(msg);
                            }
                        }
                    }
                }).start();
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
        }
    
        public boolean getServerVersionInfo() {
            //是否有可用版本;
            //从网络获取升级信息
    
            Call<UpdateResultData> call = null ;//ServiceFactory.newApiService().getUpdateInfo(paramsMap);
            try {
                Response<UpdateResultData> updateInfoResponse = call.execute();
                if (updateInfoResponse != null && updateInfoResponse.isSuccessful()) {
                    UpdateResultData resultData = updateInfoResponse.body();
                    if(resultData != null && resultData.getErrno() == 0){
                        UpdateInfoData info = updateInfoResponse.body().getResult();
                        if (info != null) {
                            mUpdateInfoData = info;
                        }else{
                            return false;
                        }
                    }
    
                } else {
                    return false;
                }
    
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
            return true;
        }
    
        //可以换成retrofit 下载更简单
        public boolean downloadFile(ProgressDialog pd) {
            URL url;
            try {
                String urlStr = "";
                if (mUpdateInfoData != null && mUpdateInfoData.getUrl() != null) {
                    urlStr = mUpdateInfoData.getUrl();
                }
                url = new URL(urlStr);
                HttpURLConnection conn;
    
                conn = (HttpURLConnection) url.openConnection();
                conn.setConnectTimeout(10000);
                pd.setMax(conn.getContentLength());
                InputStream is = conn.getInputStream();
                String packageName = urlStr.substring(urlStr.lastIndexOf("/"));
                if (!packageName.endsWith("apk")) {
                    packageName = defaultPackageName;
                }
    
                mDownloadedFile = new File(savePath, packageName);
                FileOutputStream fos = new FileOutputStream(mDownloadedFile);
                BufferedInputStream bis = new BufferedInputStream(is);
                byte[] buffer = new byte[1024];
                int len;
                int total = 0;
                while ((len = bis.read(buffer)) != -1) {
                    fos.write(buffer, 0, len);
                    total += len;
                    //update progress
                    pd.setProgress(total);
                }
                fos.close();
                bis.close();
                is.close();
                return true;
    
            } catch (MalformedURLException e) {
                e.printStackTrace();
                return false;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
    
        }
    
        public void InstallAPK(Context context) {
    
            if ( context == null ) {
                return;
            }
    
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(this.mDownloadedFile), "application/vnd.android.package-archive");
            context.startActivity(intent);
        }
    
        //显示更新dialog
        private void showUpdateDialog() {
            try {
                Builder builder = new Builder(mContext);
                builder.setIcon(R.mipmap.ic_launcher);
                builder.setTitle("发现新版本");
                builder.setMessage(mUpdateInfoData.getContent().replaceAll("\\\\n","\n"));
                builder.setCancelable(false);
                builder.setPositiveButton(
                        "立即更新",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                final ProgressDialog pd = new ProgressDialog(mContext);
                                try {
                                    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                                    pd.setCancelable(false);
                                    pd.setMessage("正在下载...");
                                    pd.show();
    
                                    new Thread(new Runnable() {
                                        @Override
                                        public void run() {
                                            boolean isSuccess = downloadFile(pd);
                                            if (isSuccess) {
                                                pd.dismiss();
                                                Message msg = new Message();
                                                msg.what = INSTALLUPDATE;
                                                handler.sendMessage(msg);
                                            } else {
                                                if (pd != null) {
                                                    pd.dismiss();
                                                }
                                                Toast.makeText(mContext, "下载失败,请检查你的网络", Toast.LENGTH_SHORT).show();
                                            }
                                        }
                                    }).start();
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                );
                builder.setNegativeButton( mUpdateInfoData.getForce() == 1 ? "退出应用":"暂不更新", (( dialog, which ) -> {
                    if ( mUpdateInfoData != null ) {
                        if ( mUpdateInfoData.getForce() == 1 ) {
                            Process.killProcess( Process.myPid() );
                        } else {
                            dialog.dismiss();
                        }
                    }
                }) );
    
                AlertDialog dialog = builder.create();
                dialog.show();
                // dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLUE);
                // dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.BLACK);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        private void installUpdate() {
            InstallAPK(mContext);
        }
    
        public void destroyHelper() {
            try {
                handler.removeCallbacksAndMessages(null);
                handler = null;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }
    
    
    public class UpdateInfoData implements Serializable {
    	private String lastestVersionName;
    	// 1 for force, 0 for not.
    	private int force;
    	private String lastestVersionCode;
    	private String url;
    	private String content;
    	}
    

    在这里插入图片描述

    点击之后利用ProgressDialog更新下载进度,之后完成安装。

    如果想更好的控制dialog的生命周期,或者自定义升级提示框的样式,可以利用dialogFragment实现。

    3关于强制升级

    强制升级的实现方法:
    用户不升级无法使用,要吗升级要么退出应用,实现方式弹出的升级提示框没有取消升级按钮,或者有不升级按钮点击之后是退出应用。
    一般不需要强制升级这个功能,但是有时由于后端接口升级或者数据结构改变,或者重大功能上线都可能需要强制升级功能,但尽量平稳的升级。

    4 好的方式

    利用dialog的方式简单方便,但是应对现实中的情况却略显不足(弹出的位置有限制,弹出界面和下载界面,失败页面,重新下载,如果都在dialog中实现逻辑会很复杂),一般现在的主流方式为利用全屏透明的Activity实现版本更新,因为是弹出activity,所以可以在任何地方弹出。通过配置可以设置当前显示的Activity是否弹出升级,从四大组件中启动升级,随意定义下载,失败,重新下载等自定义页面,对数据更好的兼容性。

    5 关于退出应用

    强制升级中杀死进程的方式只能用在主Activity中调用,否则app将重启,可以利用本地广播方式通知MainActivity执行杀死进程的操作。

    参考轮子:https://github.com/AlexLiuSheng/CheckVersionLib

    展开全文
  • Recovery 升级流程

    千次阅读 2018-09-21 14:23:09
    Android8.0.0-r4的OTA升级流程原网址:...Android系统进行升级的时候,有两种途径,一种是通过接口传递升级包路径自动升级(Android系统SD卡升级),升级完...
  • Anaconda升级与Spyder升级命令

    万次阅读 2018-01-21 21:35:48
    step1:首先以管理员的身份启动cmd....step2:升级conda(升级Anaconda前需要先升级conda)命令为:conda update conda step3:升级anconda命令为:conda update anconda step4:升级spyder命令为:conda update spyder
  • win7免费升级win10(正版)!!!

    千次阅读 2020-02-16 08:40:01
    2020年1月14日,微软对Windows 7系统停止支持,届时,微软不会对Windows 7系统进行免费的技术支持,安全更新和修复,也就是说,微软让win7用户放弃win7升级到win10 因此我就写了本文,这就开始吧! ...
  •  小编最近升级Ionic版本3--4时,发现有一些代码规范方面的事项,特意摘出来,总结一些,希望遇到类似的问题时,可以及时解决,不占用主要的开发时间。 格式规范  一、双引号""全部改为单引号''  二...
  • 升级》扑克牌游戏——Python实现

    千次阅读 2019-11-23 18:39:02
    玩家模块的规范: 用一个长度为2的字符串表示一张牌:(D,C,H,S) + (A,2,3,4,5,6,7,8,9,0,J,Q,K) 用"jk"、"JK"分别表示小王、大王 游戏顺序是逆时针方向 角色用一个字符串表示,("banker","banker_opposite",...
  • nodejs升级的两种方法

    万次阅读 2019-03-14 10:36:25
    方法一: 用n升级nodejs # 全局安装n $ npm install -g n # 升级到最新稳定版 $ n stable # 升级到最新版 $ n lastest # 升级到定制版 $ n v7.10.0 # 切换使用版本 $ n 7.10.0 (ENTER) 删除制定...
  • python pip的升级

    万次阅读 多人点赞 2018-05-21 00:03:48
    python -m pip install --upgrade pip
  • 简单几行命令让pip升级

    万次阅读 2018-11-01 21:14:30
    1.pip show pip 查看pip版本 2.python -m pip install --upgrade pip 升级pip 3.pip install +包名 开心安装包
  • 升级Anaconda需要先升级conda conda update conda conda update anaconda conda update anaconda-navigator //update最新版本的anaconda-navigator conda update xxx #更新xxx文件包
  • Anaconda的升级与卸载

    万次阅读 2016-03-04 10:17:39
    升级 升级Anaconda需要先升级condaconda update conda conda update anaconda卸载 由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。删除整个Anaconda目录:rm -rf anaconda最后,建议清理下...
  • 我习惯了App Store升级macOS和XCode。最近我升级了我的iphone xr到iOS 12.2版本。真机调试时,提示需要XCode升级到10.2版本才能使用。 我打开App Store发现操作系统是10.13.6,已经是‘最高版本’,无法升级了。下面...
  • Python 使用 pip 升级所有包

    万次阅读 2017-09-15 09:43:12
    pip 当前内建命令并不支持升级所有已安装的Python模块。 列出当前安装的包: pip list 列出可升级的包: pip list --outdate 升级一个包: pip install --upgrade requests // mac,linux,unix 在命令前加 sudo -H ...
  • win10家庭版升级专业版的两种方法和密钥

    万次阅读 多人点赞 2019-06-18 22:19:04
    win10家庭版升级专业版密钥: VK7JG-NPHTM-C97JM-9MPGT-3V66T4N7JM-CV98F-WY9XX-9D8CF-369TT FMPND-XFTD4-67FJC-HDR8C-3YH26 升级方法 方法一:直接升级 大部分电脑都可以直接升级升级方法也很简单 1.直接更改...
  • 【go】mac下brew升级golang

    万次阅读 2018-11-20 11:55:41
    在命令行下直接运行: brew upgrade go  
  • 如何将npm升级到最新版本

    万次阅读 2018-06-13 09:22:02
    查看当前版本 npm -v更新到最新版本 npm install -g npm更新到指定版本 npm -g install npm@5.6.0 (@后面加指定版本号)啦啦啦~~希望能帮到小伙伴们呦
1 2 3 4 5 ... 20
收藏数 1,133,654
精华内容 453,461
关键字:

升级