记录一下今天遇到的问题及解决方式
一个实用的快捷键:
鼠标悬浮在想进入的语句上方,ctrl+Alt+鼠标右键 进入源码
import sys df = get_data(sys.argv[1],sys.argv[2],sys.argv[3]) save_model(sys.argv[4], df)
第一次看到这个 sys.argv[ ] 毫无头绪,不知道从哪里输入的参数,今天老板给我演示了一遍,所以记录下来,怕以后忘了。实际上, sys.argv[ ] 是一个从程序外部获取参数的桥梁,并非在代码里实现的某个语句。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list)。sys.argv 可以看作一个列表,使用 [ 索引 ] 提取其中的元素。sys.argv[0] 是程序本身(程序的绝对路径)。
在上述的python语句中,我们需要输入4个参数,在脚本所在位置按照下列指引操作
在parameters这个位置将参数输进去,参数之间用空格隔开。为避免输入错误,建议先在记事本上写好,再复制粘贴。
这样 sys.argv[1]的值即为 one, sys.argv[2]的值即为 two,以此类推。
点击 ok ,就可以运行程序啦
如果输入的参数是绝对路径,需要注意一些问题
下列操作可以复制脚本所在的绝对路径:
首先,在脚本位置点击右键,选择 Copy Path
选择绝对路径 Absolute Path
运行程序时,总是出现绝对路径 ‘C:\Users\xxx\PycharmProjects\ECommercialAlg_2’ 出错的提示,于是做了以下几种尝试:
(1) 在路径前面加个 r
save_model(r'C:\Users\xxx\PycharmProjects\ECommercialAlg_2',df)
(2) 将斜杠 \ 改为双斜杠 \\
save_model(r'C:\\Users\\xxx\\PycharmProjects\\ECommercialAlg_2',df)
(3) 将斜杠 \ 换个方向 /
save_model(r'C:/Users/陈玲美/PycharmProjects/ECommercialAlg_2',df)
一个bug解决了,又出现了一个新的bug:
AttributeError: AssertionRewritingHook.is_package() method is missing but is required by Flask of PEP 302 import hooks. If you do not use import hooks and you encounter this error please file a bug against Flask.
据说是flask框架不兼容问题,于是重新下载了anaconda,需要在虚拟环境下 pip install flask
这里附上一个很实用anaconda安装和配置的教程(感谢师兄!)
https://blog.csdn.net/program_developer/article/details/79677557
这次非常顺利就安装好了,比起以往磕磕绊绊的经历,真的不要太顺利。可是创建虚拟环境时就失败了,我就知道!!!气死我了,anaconda在逼疯我这件事情上从来没有手软过,爆出一堆看不懂的错误:
我麻了,我在办公室里哀嚎,同事告诉我可以在淘宝上花钱买远程配置服务,于是我加了一个淘宝小哥微信,人家一眼看出我的conda源配置错误,也就是配置镜像网站那里出了问题,我也不懂为啥,跟着教程做了如下处理:
进入”C:\Users\Administrator“,打开“.condarc“,将里面的代码删掉,改成:
ssl_verify: true show_channel_urls: true channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64
接着打开 Anaconda Powershell Prompt (anaconda3),输入下面的命令行就可以创建虚拟环境了,其中 eCom 是自定义的虚拟环境的名称
conda create -n eCom python=3.6
激活虚拟环境
conda activate eCom
退出环境
conda deactivate
在这个虚拟环境下安装好了 flask 包,但我还不知道怎么和脚本联系起来使用哈哈哈哈哈哈哈,诚邀朋友们在评论区给我留言,谢谢大家~