sys.argv的使用(pycharm)以及conda创建虚拟环境
记录一下今天遇到的问题及解决方式
一个实用的快捷键:
鼠标悬浮在想进入的语句上方,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’ 出错的提示,于是做了以下几种尝试:
- 猜测是绝对路径中出现中文名的缘故,在这里奉劝各位,一定一定不要将用户名设置为中文名,大一的时候不懂设置为了自己的大名,总是让自己陷入一些棘手的问题当中。查了一下修改方式,感觉有点危险,很担心修改之后会造成不可逆的错误,思索了一下还是没有动手。同事告诉我中文名不是关键问题,劝我不要修改。可以新建一个D或E盘,文件夹命名全部设置为英文,将代码复制到新的盘里就好了,这不失为一个好办法,但本人因为太懒没有尝试这个操作hhh
- 或许是路径的转义符问题
于是查了一些解决方式,试着试着就不在出现路径出现错误的提示了,我也不知道哪个起了作用,于是都列出来供朋友们参考:
(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)
conda创建虚拟环境
一个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 包,但我还不知道怎么和脚本联系起来使用哈哈哈哈哈哈哈,诚邀朋友们在评论区给我留言,谢谢大家~