前期自己开发一个小模型,需要拿到其他平台上测试,由于存在跨平台调用问题(具体不详),因此需要将模型输出PMML格式文档交付,于是,我就开始找需要安装的python包--sklearn2pmml,然而扯淡是的是公司是内网,无法直接通过pip或conda安装,但是公司可以内发邮件,然后我就到https://pypi.org找到了安装包(.tar格式),然后发送到内网,直接解压缩,定位到压缩包中setup.py的路径,然后使用conda setup.py install,安装成功。



cmd怎么指定python版本 cmd python_环境变量


我调用模型输出的时候,报出没有安装java,我想这里的java是一个python的包,还是一个软件?先到pypi上找,发现没有。问度娘,告诉需要安装java1.8版本软件,在自己电脑安装后,重启spyder,结果输出成功。看看时间已经凌晨2点了,我要睡觉了。第二天早晨,找到了技术部的小哥给安装,结果告知我们的的VDI中该软件没有审核,因此需要提单子、、、,我放弃了。

迂回策略,输出pickle文件,然后让测试方自己转化为PMML格式的文档。

参看了:python安装sklearn2pmml和jpmml-sklearn_人工智能_NOT_GUY的博客-CSDN博客。


#下面是直接输出PMML格式文档失败后,改弦更张后输出pickle文档
from sklearn2pmml import PMMLPipeline  
from sklearn.datasets import load_iris  #使用内置数据
from sklearn import tree
iris = load_iris()
clf = tree.DecisionTreeClassifier()
#理想状态
pipeline = PMMLPipeline([("classifier", clf)])
pipeline.fit(iris.data, iris.target)
#迂回策略
from sklearn.externals import joblib
joblib.dump(pipeline, "D:G_softpackageDecisionTreeIris.pkl.z", compress = 9)


cmd怎么指定python版本 cmd python_cmd怎么指定python版本_02


黄框是理想的输出文档,红框是迂回策略输出文档 --PMML格式在本人电脑可以,但是内网不行。

问题解决了,大喜。

留存疑惑:

Q1)CMD是啥东西?

Q2)环境变量是啥?

Q3)给谁添加环境变量?

Q4)环境变量如何添加?

Q5)cmd如何调用python执行.py文件?

R1:在开机搜索中,输入cmd,发现了cmd身影(平时只是用,但是不晓得啥东西),查看属性,发现是一个.exe(应用程序),目的是用户通过该程序(写命令),实现对操作系统的操作,广义上讲就是一个shell(解释器),是用户和操作系统的桥梁,通过它实现对操作系统的操作,譬如调用其他应用程序(python.exe)。


cmd怎么指定python版本 cmd python_环境变量_03


R2、3:环境变量,就是一个变量(通常是path),他的值是一个路径。譬如我安装了anaconda,发现我的python.exe在C:Users----Anaconda3路径中,我将该路径加入到环境变量中,如果我在cmd中输入python,他就会在当前环境变量中寻找Python这个文件(应用程序),并打开该程序(此时进入到该程序的环境中(shell)),找不到会报错。


cmd怎么指定python版本 cmd python_cmd python封装成exe_04


R4:添加环境变量的方法:

1)计算机->属性->高级系统设置->环境变量->系统变量,然后找到path进行编辑,将软件安装路(是按照路径)径放入其中,记得和前面已经有的环境变量路径通过";"分开,最后一个路径,可以不加";"号。


cmd怎么指定python版本 cmd python_环境变量_05

方法一

#方法二
import os #通过ptyhon脚本实现:
os.environ["PATH"] += os.pathsep + 'C:Program FilesJavajdk1.8.0_91bin'


注意:路径一定是软件存在的路径,我的java.exe就存放在'C:Program FilesJavajdk1.8.0_91bin路径下。

R5:如果将python添加完环境变量后,在cmd中输入python,cmd会直接打开python.exe应用程序,这和进入到python的安装目录,找到python.exe应该程序双击打开是一毛一样的。如果想通过cmd直接执行.py文件,方法是1)从刚才进入python shell中退出(exit()),然后定位到需要执行的.py文件(通过cd定位),然后使用tab键进行文件切换,找到对应的.py文件(全名称),然后直接回车(cmd会自动寻找解析文件的应用,如果有多个python都添加环境变量,python2,python3,有先后顺然,如果你想指定python3执行,也可以使用“python3 文件名.py”)


cmd怎么指定python版本 cmd python_cmd怎么指定python版本_06


说明1:如果系统安装了多个版本的python,可以通过更改python.exe的名称,譬如对于2.7版本的python,进入安装目录,找到python.exe,该名称为python2.exe,对于3.6也是如此,好处是你知道你使用哪个版本的python执行操作。

说明2:无论是cmd.exe还是python.exe都是shell(解释器),都是沟通用户和操作系统的桥梁,但是不同的是,不同的shell,功能不同罢了,对于cmd,他有自己的语言,如果你想和它沟通,就要按照它的语言来谈事情,对于python来说,你也要按照它的语言来沟通,而且谈论的事情可以不同。