面对 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 这里反而行不通了。。。
8022 次点击
所在节点    Python
73 条回复
JunyuMu
2019-04-15 18:58:39 +08:00
@ThomasZ 突然想给你一万个赞
Trim21
2019-04-15 19:13:17 +08:00
@nfroot pip 上传包有两种格式,二进制和源码包,然后 Python 有些包包含了 c 扩展。如果发布者提供了二进制版本还好,安装的时候只是拷贝文件。但如果某个包用到了 c 又只发布了源码包,pip 就会在安装的时候尝试编译。大部分的安装出错都是这种情况。

Ubuntu 安一个 build essential 就可以解决大部分编译问题,缺的基本只是各种库源码,但到了 Windows 下,emmmm
troywinter
2019-04-16 00:00:39 +08:00
@hmzt 请去掉"我们", 我优化过某独角兽 80G 的 c++代码库,只是说一下,做个假设
yegle
2019-04-16 02:08:23 +08:00
@fy 1xml vs lxml
elvis_w
2019-04-16 07:21:26 +08:00
Windows 一样可以装带 C 代码的扩展,楼上大部分对 Windows 偏见太深
https://wiki.python.org/moin/WindowsCompilers
silkriver
2019-04-16 09:40:48 +08:00
Windows 需要额外安装编译器,然后微软的下载页面对新手很不友好,通常都会搞成安装整个 Visual Studio 在线下载成 GB 的文件(其实只要下几十 MB 的一个 VC++BuildTool 就够了)。
shyrock
2019-04-16 09:51:35 +08:00
用 python2 年了,虽然很沉迷 py 但是不得不承认 lz 说的有道理,py 对初学者来说各种环境问题太不友好了。
nfroot
2019-04-16 10:31:33 +08:00
@yegle CMD 的 1 和 l 用 QQ 截图放大了也分不清谁是谁= =。。。。。就好像 windows chrome 打开 V2EX,“字”和“宇”也分不清


谢谢大家回复,我就不一一回复了,用 PHP 重写走起。
ThomasZ
2019-04-16 10:42:02 +08:00
@JunyuMu 别别别,我已经没头发了
ThomasZ
2019-04-16 10:43:13 +08:00
@JunyuMu 我主要用的是 cpp ಥ_ಥ
hmzt
2019-04-16 10:59:31 +08:00
@troywinter 好吧,公司私有代码可能比较随意,因为这种很少会被别的项目依赖,网上开源的第三方库基本都会自带依赖吧
win7pro
2019-04-16 11:08:39 +08:00
@ThomasZ #60 我尽无言以对
love
2019-04-16 11:11:45 +08:00
珍爱生命远离 windows

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

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

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

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

© 2021 V2EX