面对 Python 的强大和难用性表示深深的迷茫,莫非打开方式不对?

2019-04-15 11:26:03 +08:00
 nfroot
目测 python 也算是极好的语言了,目前各方面也妥妥的了,跨平台也不差了(瞎猜的)

但是一直不敢去拿别人的 python 来用,因为对这个语言是门外汉(会 asp,会点 php,会点 js,会 vb 系),所以深深的体会到难用性太强大了。多次找到所谓“合适的 py 文件”想直接拿来用。都失败了。

但是最近又在 github 刚好找到合适的代码,忍不住想尝试一下。
https://github.com/qubitstream/phpmyadmin_sql_backup

目测是在 linux 下运行的,不死心啊,快速翻看了一下代码,没看到写死了什么路径,心大的觉得如果库都有,windows 应该可以跑吧。

咦,人家还是很好心的写了基本信息,支持 windows

It has been tested with Python 3.4+ on Linux and Windows and phpMyAdmin 4.3.6, 4.5.4.1 and 4.7.0-dev



下载最新 python 安装,成功
执行 py 文件,并按帮助给予了相应的参数,然而……缺少库,于是
缺 grab
pip 安装 grab,成功
缺 xxx...
pip 安装 xxx....,成功

继续继续。
python 已经停止了运行。
我忍,我有狗,继续放狗。
哦哦原来是要给 python 把防火墙给开放了。
OK。
继续运行!
ModuleNotFoundError
缺了 1xml

pip 安装 1xml,成功

还有一步是要 pycurl 的(应该是在 1xml 之前),pip 安装不成功
不成功????
于是放狗搜去。
哦哦哦,原来要去库的官网下载 whl 文件,手动 pip 安装。
想了半天楞是没想明白这是个啥意思,你都 pip 可以手动安装了,咋就不能自动呢。

于是下吧,眼睁睁的看着一堆,找了个像样子的下下来。
pip d:\xxx.whl
安装失败 0 0。。。。

啥玩意这是,继续放狗。
哦哦,原来 cp36 是对应 python3.6x ,我要选 cp37 的。
安装成功

继续运行这个 py 文件
xxx 超时
莫非是漏了什么文件没给防火墙白名单,看到 python 目录有个 curl.exe 是刚才编译的,白名单走起。
再运行
python 停止了运行
我忍。
想想 python 应该带了个 IDE 才对,开始菜单打开 IDLE,开启 debug,执行脚本,debug 面板点 go。
哦哦,运行正常,显示了 py 文件提供的帮助
继续放狗,如何带参数调试,
找到了

sys.argv =[sys.argv[0],'http://xxx.com:3313/mysql/','myusername','mypassword','--http-auth','myusername:mypassword']

然而。。

Error: ('Resolving timed out after 3013 milliseconds', error(28, 'Resolving timed out after 3013 milliseconds'))


看了看 debug 面板,一脸懵逼。看了看进程,对应进程的路径开了防火墙白名单啊。
真的无解了,按说是超时,那应该可以抓包看看,但是真的不想折腾了。python 我还是敬而远之吧。

我真的是被 Windows 惯坏了。asp 是这样的,一处编写,到处运行,php、vbs、vb 亦如是。python 不知道是怎么回事,之前也是好几次了(几年前的事情了),找到个不错的 py 写的东西,可能偏门了点吧,没人指导的情况下就没一次成功的。

权当门外汉的抱怨吧,不必嘲讽,只是真的不太理解为什么别人家的东西都是拿来用即可,到 python 这里反而行不通了。。。
8017 次点击
所在节点    Python
73 条回复
yegle
2019-04-15 11:35:00 +08:00
1xml 居然被你装上了,这怕不是搞笑吧?
RHxW
2019-04-15 11:35:30 +08:00
这种情况我看都看不懂……
总感觉还是照着人家把代码自己写(扒)一遍比较好(真的好弱啊……)
Trim21
2019-04-15 11:37:32 +08:00
在 linux 下面基本可以一次用 pip 顺利安完所有的依赖, 在 windows 下面就是会有各种各样奇奇怪怪的问题
youngce
2019-04-15 11:37:39 +08:00
python 简单一点的脚本还是可以拿来直接用的- -不过要学一下 python 的安装?再按照作者给出 requirements 把包安装上?确实对于完全的小白还是有点麻烦就是了。不过还是值得花时间学习一下的
dbw9580
2019-04-15 11:48:41 +08:00
Do not use the recent version of pycurl (7.43.0 at the moment). This version fails randomly on windows platform. Use 7.19.5.3 version. You can get it here 

from grab installation instructions
nfroot
2019-04-15 11:50:49 +08:00
@yegle 不是搞笑啊,主题的内容一部分是凭记忆写的,可能是有部分地方有出入。但是除了最后的没搞定,似乎一个个都没提示缺库了(主要还是缺这缺那库,去找找总是有的,还有 python 已停止运行也没搞定,想着自己的简易 IDE 应该也可以调试,但是看着调试信息看不明白)

Error: ('Resolving timed out after 3013 milliseconds', error(28, 'Resolving timed out after 3013 milliseconds'))
matsuz
2019-04-15 12:10:58 +08:00
依赖管理在任何一个语言中,都从来不是一个简单的问题
40huo
2019-04-15 12:14:33 +08:00
这么个功能为什么要用 phpmyadmin
CallMeReznov
2019-04-15 12:22:23 +08:00
你应该怪这个仓库提供的相关部署细节不够
而不是怪 python 这样那样的问题
部署文档细节不够不光是 python,你任何语言都麻烦.
LokiSharp
2019-04-15 12:24:28 +08:00
别在 Windows 用 Python
guokeke
2019-04-15 12:27:02 +08:00
难用性?
genius2k
2019-04-15 12:28:17 +08:00
@40huo 同好奇。。几行 bash 的事。。
zst
2019-04-15 12:30:03 +08:00
Windows 下的 Python 有各种奇奇怪怪的问题,如果非要在 win 下用要装 anaconda 然后换源
nfroot
2019-04-15 12:39:36 +08:00
@RHxW 自己不会 python,有的功能自己写麻烦,反正我是有得用绝对不会自己写(不是专业的,写起来慢)
@Trim21 这个倒是不太理解,按说是一个套路啊

@youngce 主要不知道有什么坑,Python 我以为直接 pip install 就搞定库了,实际上。。。。真的希望不管是自己写的还是别人写的,用的人直接拿来用最好了


@dbw9580 谢谢,回头再试试吧,不行就打算换 php 或 vb 自己来了。。。

@matsuz 我想不管是什么语言,最好是用户拿来直接可以用。唉,奈何困难重重。

@40huo 利用 phpmyadmin 来自动备份的想法很早就有了,从 Google 看也与很多人的想法不谋而合,git 有 Python 和 shell 写的,也有闭源备份软件集成了(然而不支持 http 基本认证),说明还是很有意义的。

谢谢大家,我再试试,如果最后实在不行就用 php 或者 vb 写个了。。。。
reus
2019-04-15 12:44:27 +08:00
要怪就怪 windows !
nfroot
2019-04-15 12:48:11 +08:00
@guokeke 易用性是反面。。。。。。
@genius2k 虚拟主机 MySQL 不对外开放,所以通过 phpmyadmin 的手动导出功能,转为自动备份。。这个需求谷歌可以看到不少,开源闭源的都有实现。


@LokiSharp
@zst
我下次注意
goodleixiao
2019-04-15 13:24:25 +08:00
习惯了在 linux 上用 python,Windows 太难用了,要考虑的东西太多。 大多数的大佬都是用 mac 电脑,无痛。。。
blless
2019-04-15 13:28:55 +08:00
php node 什么的碰到需要编译的库也好不到哪去
thautwarm
2019-04-15 13:50:05 +08:00
有可能是 windows 上不用 anaconda 导致的难用性
tomczhen
2019-04-15 13:52:34 +08:00
Windows 上能装好 lxml 已经比很多人强了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/555249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX