必须喷一下python

a
amo
101 楼
楼主吐的槽不少都是很实际的问题啊。

【 在 minquan (三民主义) 的大作中提到: 】
: python在哪里坑?
: 网络?线程?
m
minquan
102 楼
那些问题比起R的问题都不是事儿
开源就这德行,哪有既省钱又省心的好事?
Python当然得在开源的里头比

比起R多年来对中文字符支持的烂的一塌糊涂
Python3强迫用Unicode首选用UTF-8已经相当相当的友善了

【 在 amo (牛肉炖熊掌) 的大作中提到: 】
: 楼主吐的槽不少都是很实际的问题啊。
N
NGale
103 楼
我终于理解“Python最接近自然语言”这句话了,学起来就是和学外语一样,为了方便,好多习惯用法,背过就好,没有道理。

举个栗子:
变量类型用一堆括号表示。
dictionary和set都用{}。但是d={},表示dictionary。
{2*x for x in range(10)} 这个玩应儿是个set,换成[],就是个list。内心惊呼
Python真的是好强大,好方便。不过等等,那为啥(2*x for x in range(10)) 是个
generator,而不是tuple?内心传来声音:可能是因为tuple是immutable的,所以不能这么初始化,算鸟,背过吧。
d
dracodoc
104 楼
> "%test%" <- function="" x="" x="">> %test%
Error: unexpected SPECIAL in "%test%"
> "%test%"
[1] "%test%"
> `%test%`
function(x) x

你要是直接用%test%,不需要引号,一般用法都是如此。教材里没有写,因为没想到有人会在调用函数的时候还带个引号,完全多余而且有歧义。

非要用引号的时候,"%test%"仍然是一个字符串,只有`%test%`才是函数本身。

我同意教材应该写的更清楚一点,不过可能绝大部分人没这么干过。

【 在 minquan (三民主义) 的大作中提到: 】
: An Introduction to R
: W.N.Venables D.M.Smith
: and the R core team
: 2017-03-06
: 10.2 Defining New Binary Operaters
: it could have been used as a binary operator in expressions rather than in
: function form. Suppose,
: for example, we choose ! for the internal character. The function
definition
: would then start as
: > "%!%" <- function="" X="" y="" ...="">: ...................
d
dracodoc
105 楼
?source

【 在 minquan (三民主义) 的大作中提到: 】
: 别扯别的编程语言,R相比正规编程语言,功能多少年以来都是残缺的
: R脚本连调用同一个目录下的其它R脚本都做不到——
: Python脚本我能做到一个目录下一个主脚本,运行起来调用该目录里的其它脚本,然后
: 随意拷贝挪位置都正常运行,R做得到?
w
westxi
106 楼
Used both python and R for years. Although python sucks at something like
GIL, it's much more comfortable to program than R. R is a pain in the ass to code.
m
minquan
107 楼
local=TRUE根本不管用

【 在 dracodoc (david) 的大作中提到: 】
: ?source
d
dracodoc
108 楼
这么基本常用的函数,有非常明显bug是不可能的。

要么是你用法不对,要么是你期待的效果不对

你可以吐槽它的设计和你想象的不一样,但是说它不管用,我是深表怀疑。

【 在 minquan (三民主义) 的大作中提到: 】
: local=TRUE根本不管用
m
minquan
109 楼
就是
source("xxx.R", local=TRUE) ?
xxx.R是这个source命令本身所在的位置?

对了,我用了连环source
我先用了个source跳转到另一个目录的某个脚本
然后这个脚本source相同目录下的另一个脚本

【 在 dracodoc (david) 的大作中提到: 】
: 这么基本常用的函数,有非常明显bug是不可能的。
: 要么是你用法不对,要么是你期待的效果不对
: 你可以吐槽它的设计和你想象的不一样,但是说它不管用,我是深表怀疑。
n
netghost
110 楼
python是給沒學過編程的人入門用的。
你都會perl了去搞什麼python。

【 在 Nisayer (si fata sinata) 的大作中提到: 】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制
: ...................
x
xiaoju
111 楼
python的哲学是好程序必须好读

如果程序不好读,那就限制了review和优化的力度,质量必然腐烂掉

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: python是給沒學過編程的人入門用的。
: 你都會perl了去搞什麼python。
N
NGale
112 楼
程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。

Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码,如果不是可以直接调用package的fucntion,真的是不好懂。

另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?
x
xiaoju
113 楼
python语法可不简单,简单语法是javascript这种可以当大作业的东西

【 在 NGale (马氏若姆) 的大作中提到: 】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?
m
minquan
114 楼
但是人家照样能用啊

所以要办公司的小老板,就喜欢这种

简单,能用

使用效率还不算太烂

初期一两年够用了

以后雇多了人再细搞再换

而数据科学家那种更是

搞个两三年换了七八个模型都没定型

编程费那么大劲干嘛?

比python编程成本更低,而且能达到同样质量的

有谁?

【 在 NGale (马氏若姆) 的大作中提到: 】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?
N
NGale
115 楼
你说的完全对啊。
Python牛的地方:开发成本低。
比它低的好像真没有。

速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有model
,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。

效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效率可以做到很烂。最后使用成本低不低,那是另一回事。

【 在 minquan (三民主义) 的大作中提到: 】
: 但是人家照样能用啊
: 所以要办公司的小老板,就喜欢这种
: 简单,能用
: 使用效率还不算太烂
: 初期一两年够用了
: 以后雇多了人再细搞再换
: 而数据科学家那种更是
: 搞个两三年换了七八个模型都没定型
: 编程费那么大劲干嘛?
: 比python编程成本更低,而且能达到同样质量的
: ...................
x
xiaoju
116 楼
python写线性代数操作必须比C++快啊,numpy和tensorflow是工业级的,C++的STL或者boost是什么玩意

【 在 NGale (马氏若姆) 的大作中提到: 】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有
model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。
m
minquan
117 楼
R也一样
但是R的代码太烂了,一致性都做不到,开发起来全是地雷
所以最近两年相当多一部分R用户转Python了

Python的原始代码是非常慢
所以后来写数据的把Python底层重新写了一遍,加上自己的包
改叫Anaconda
所以严格意义上讲,数据科学家用的实际不是Python

【 在 NGale (马氏若姆) 的大作中提到: 】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有
model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。
f
fyz
118 楼
Python 是不是主要用C实现的?

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: python写线性代数操作必须比C++快啊,numpy和tensorflow是工业级的,C++的STL或者
: boost是什么玩意
: model
x
xiaoju
119 楼
numpy后端是fortran的吧,gpu是硬件

CPython经常被人骂效率低

【 在 fyz (木~花样年华) 的大作中提到: 】
: 标 题: Re: 必须喷一下python
: 发信站: BBS 未名空间站 (Sun Aug 5 17:59:43 2018, 美东)
:
: Python 是不是主要用C实现的?
:
: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: : python写线性代数操作必须比C++快啊,numpy和tensorflow是工业级的,C++的STL或者
: : boost是什么玩意
: : model
:
:
:
: --
: 无图言鸟
a
aeo26
120 楼
'A' is not in ['A'] 不行是因为你写错了

试试 'A' not in ['A']

【 在 NGale (马氏若姆) 的大作中提到: 】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?
n
njucct
121 楼
作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用
Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个

def func(a):
if a < 0:
raise ValueError(f'{aa} should be positive')

这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的
annotation水平,那样写起程序来就放心多了。

【 在 NGale (马氏若姆) 的大作中提到: 】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有
model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。
m
minquan
122 楼
python的替代品有哪些?
Go吗?

【 在 njucct (njucct) 的大作中提到: 】
: 作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上
: 。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用: Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查
: 不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个
: def func(a):
: if a < 0:
: raise ValueError(f'{aa} should be positive')
: 这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,
: 如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
: 估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的: ...................
N
NGale
123 楼
我是写错了。

我的意思是既然Python要接近自然语言,而且为了接近自然语言可以使用is not 作为
运算符去考察'A' is not 'A',为什么不再继续迎合自然语言,进而使用is not in作
为运算符'A' is not in ['A']?

【 在 aeo26 (aeo26) 的大作中提到: 】
: 'A' is not in ['A'] 不行是因为你写错了
: 试试 'A' not in ['A']
m
minquan
124 楼
虽然接近自然语言,可是还是得有语法的呗
你觉得加了个is好像是挺爽的
不知道英文还有 are, was, were, be 吗?
python不可能照顾到这些自然语言的多态
差不多就得了

【 在 NGale (马氏若姆) 的大作中提到: 】
: 我是写错了。
: 我的意思是既然Python要接近自然语言,而且为了接近自然语言可以使用is not 作为
: 运算符去考察'A' is not 'A',为什么不再继续迎合自然语言,进而使用is not in作
: 为运算符'A' is not in ['A']?
N
NGale
125 楼
我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
的程序。

首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。

我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。

这与我说用Python写的程序效率不高是有关系的:

我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简短形式的编程,比如用复杂的comprehension(其实可读性一点也不高)。还有用
Python写O(N)算法,不一定比用Python内建的O(N^2)函数快。在这种理念和实际情况的的引导下很多Python程序员写的程序不注重效率和算法。这种情况写小程序没有什么关系。但是project一复杂,会极大的影响整个project效率。你自己也举例说明Python
Package里埋的雷。其实Python语法本身非常灵活,极易埋雷。比如我举得例子,'A'
is not 'A'可以,'A' is not in '[A']就不行。你可能觉得真正的程序员的不会写后
者,但是Python开了'A' is not 'A'的先河,就会有人习惯性无意识地写后者,因为符合自然语言习惯。

还有Python作为快捷的隐式动态类型语言要加入静态类型检查,是不是精神分裂?

Python精神分裂和粗糙Python程序员(包括很多公司老板)对Python通用化是我要喷的。
我本人喜欢Java,但是Scala喷Java我也觉得喷的在理。两个语言各干的不是挺好。

【 在 njucct (njucct) 的大作中提到: 】
: 作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上
: 。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用: Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查
: 不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个
: def func(a):
: if a < 0:
: raise ValueError(f'{aa} should be positive')
: 这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,
: 如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
: 估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的: ...................
N
NGale
126 楼
我真是酒喝多了头痛睡不着。

are,was,were,be应该是用不到的吧。

写的程序都是现在时态。而且写复数对解译要求太高容易歧义吧。

总不能if a and b and c are True:
也许10年后的Python能做到这个,又不会引起歧义。

【 在 minquan (三民主义) 的大作中提到: 】
: 虽然接近自然语言,可是还是得有语法的呗
: 你觉得加了个is好像是挺爽的
: 不知道英文还有 are, was, were, be 吗?
: python不可能照顾到这些自然语言的多态
: 差不多就得了
m
minquan
127 楼
'A' is not 'A'可以

这的确是个很烂的坏头

Python就是这样,尽量简单,又要尽量功能强大

然而这两个概念本身是矛盾的

这不创始人因为要加个语句中间赋值的功能,就被核心码工打小报告到twitter了?

凑合用吧

没有完美的语言
d
dracodoc
128 楼
【 在 minquan (三民主义) 的大作中提到: 】
: R也一样
: 但是R的代码太烂了,一致性都做不到,开发起来全是地雷
: 所以最近两年相当多一部分R用户转Python了
: Python的原始代码是非常慢
: 所以后来写数据的把Python底层重新写了一遍,加上自己的包
: 改叫Anaconda

这是哪里流传出来的urban legend, anaconda就是帮你装包,解决依赖问题和安装难
的问题而已。重新写底层,怎么可能。

真正能提高性能的是pypy,也不是靠重新写底层,是抛弃cpython

: 所以严格意义上讲,数据科学家用的实际不是Python
: model
z
zf2011
129 楼
""
The operators <, >, ==, >=, <=, and != compare the values of two objects.

The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth
value.

【 在 NGale (马氏若姆) 的大作中提到: 】
: 我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
: 的程序。
: 首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。
: 我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般
: 的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的
: Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的
: 部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这与我说用Python写的程序效率不高是有关系的:
: 我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
: Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简
: ...................
n
njucct
130 楼
> 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。

这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的
SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾reticulate
,用了Matlab还折腾Python engine。

但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可以用别的语言写。如果你用别的语言写所有的界面,接口,逻辑啥的,整体开发效率很难和python这种模式比。

> 在这种理念和实际情况的的引导下很多Python程序员写的程序不注重效率和算法。这种情况写小程序没有什么关
系。但是project一复杂,会极大的影响整个project效率。

这个就看项目管理水平了。不过在程序需求经常变化,预先不知道瓶颈的时候,每个部分都用高效的写法写会很累很浪费。我的一般做法是先把程序框架搭好,用Python写出来,然后有需要再替换掉效率较差的部分。

【 在 NGale (马氏若姆) 的大作中提到: 】
: 我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
: 的程序。
: 首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。
: 我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般
: 的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的
: Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的
: 部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这与我说用Python写的程序效率不高是有关系的:
: 我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
: Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简
: ...................
m
minquan
131 楼
当然重新写底层了,连数据格式都重新定义了
要不你怎么不能像别的那样直接pip装包,非得重新装一个?
要不怎么会有vector这种数据结构?

【 在 dracodoc (david) 的大作中提到: 】
: 这是哪里流传出来的urban legend, anaconda就是帮你装包,解决依赖问题和安装难
: 的问题而已。重新写底层,怎么可能。
: 真正能提高性能的是pypy,也不是靠重新写底层,是抛弃cpython
m
minquan
132 楼
C写的东西能和Python代码合在一起打包么?

【 在 njucct (njucct) 的大作中提到: 】
: > 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己
: 也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
: 要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的: SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾
reticulate
: ,用了Matlab还折腾Python engine。
: 但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很
: 多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
: 有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
: python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可
: ...................
n
njucct
133 楼
可以,需要compiler,setup.py稍微麻烦一点。为了方便一般用conda提供各个系统下
的binary distribution.

【 在 minquan (三民主义) 的大作中提到: 】
: C写的东西能和Python代码合在一起打包么?
: reticulate
m
minquan
134 楼
求详细介绍!

我做个PyQt的小程序,里面有一些C的h文件之类的,别人能给我封装成dll

我想做成可以安装的程序,实在不行一个整体的exe

【 在 njucct (njucct) 的大作中提到: 】
: 可以,需要compiler,setup.py稍微麻烦一点。为了方便一般用conda提供各个系统下
: 的binary distribution.
d
dracodoc
135 楼
它做的就是包管理,解决的就是pip的问题,当然不用pip。

anaconda就是个distribution,这也重写底层?

你的“底层”比较与众不同

【 在 minquan (三民主义) 的大作中提到: 】
: 当然重新写底层了,连数据格式都重新定义了
: 要不你怎么不能像别的那样直接pip装包,非得重新装一个?
: 要不怎么会有vector这种数据结构?
m
minquan
136 楼
你一向抱着执拗当专业,不撞南墙不回头
懒得和你辩

【 在 dracodoc (david) 的大作中提到: 】
: 它做的就是包管理,解决的就是pip的问题,当然不用pip。
: anaconda就是个distribution,这也重写底层?
: 你的“底层”比较与众不同
m
magliner
137 楼
两位都是老师, 都说了些我能听懂的话。
最大的收获就是, 再也不折腾r了。
y
yangyi
138 楼
楼主说了“卧槽,现在还有不支持自动格式化的编辑器吗”

【 在 saturnV (土星五号) 的大作中提到: 】
: Python 比Perl 强海里去了,至少有很高的可读性,什么缩进啥的习惯了根本不是个事
: 情,高质量的C++代码也要比较规范的缩进。
r
realwhz
139 楼
我也第一次听说“anaconda重写了底层”。有什么证据吗?
x
xiaoju
140 楼
你显然弄错了,要不仔细去anaconda网站看看?

【 在 minquan (三民主义) 的大作中提到: 】
: 当然重新写底层了,连数据格式都重新定义了
: 要不你怎么不能像别的那样直接pip装包,非得重新装一个?
: 要不怎么会有vector这种数据结构?
m
minquan
141 楼
你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
装齐了

再来质疑anaconda是不是和python本质上相互独立的一个系统
m
minquan
142 楼
基本上,凡是非原生包,都要老老实实写whl来对接原生python

anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
写了一个anaconda,在数值计算部分有重大改写

懒得找出处了,我又不用anaconda
x
xiaoju
143 楼
anaconda是把pip里面的稳定版本弄出来做个dist,pip经常升级太快,在不常用平台可能扯到蛋

很多人在linux或者mac上自己装三大包,你要是在windows上搞得有一定win32基础常识

【 在 minquan (三民主义) 的大作中提到: 】
: 你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
: 装齐了
: 再来质疑anaconda是不是和python本质上相互独立的一个系统
L
Liber8
144 楼
你是不是老邢的机器人?
【 在 minquan (三民主义) 的大作中提到: 】
: 基本上,凡是非原生包,都要老老实实写whl来对接原生python
: anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
: 写了一个anaconda,在数值计算部分有重大改写
: 懒得找出处了,我又不用anaconda
n
nowhere7
145 楼
多年以来一直用pip在linux下面装这几个玩意啊
倒是近来用windows了,开始用conda
【 在 minquan (三民主义) 的大作中提到: 】
: 你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
: 装齐了
: 再来质疑anaconda是不是和python本质上相互独立的一个系统
n
nowhere7
146 楼
用大括号的都可以完美自动缩进
倒是用tab/space的,鬼知道你是typo了,还是真的想要一个tab/space
【 在 yangyi ( 哥本哈根达斯) 的大作中提到: 】
: 楼主说了“卧槽,现在还有不支持自动格式化的编辑器吗”
n
nowhere7
147 楼
我理解你这种应用需求,我也干过很多年类似的事情,虽然没有你资深,很少看
package源码。

但是我感觉这对以data处理分析为中心的需求是高效的,这类项目注重开发效率和运行效率,但是对测试和维护的要求比较低。换作其他类型的项目,规模一上去,问题就多了。我想这是NGale想说的

【 在 njucct (njucct) 的大作中提到: 】
: > 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己
: 也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
: 要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的: SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾
reticulate
: ,用了Matlab还折腾Python engine。
: 但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很
: 多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
: 有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
: python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可
: ...................
y
yangyi
148 楼
提到typo,那就没法继续讨论了。

【 在 nowhere7 (折腾) 的大作中提到: 】
: 用大括号的都可以完美自动缩进
: 倒是用tab/space的,鬼知道你是typo了,还是真的想要一个tab/space
d
dracodoc
149 楼
你显然记错了。

【 在 minquan (三民主义) 的大作中提到: 】
: 基本上,凡是非原生包,都要老老实实写whl来对接原生python
: anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
: 写了一个anaconda,在数值计算部分有重大改写
: 懒得找出处了,我又不用anaconda
l
longtian
150 楼
conda基本就是专门给在windows下用的,linux上没看到多少人用

【 在 nowhere7 (折腾) 的大作中提到: 】
: 多年以来一直用pip在linux下面装这几个玩意啊
: 倒是近来用windows了,开始用conda