PyCall里的sys.path的问题


#1

发现对于sys.path来说,push!不会改变它,除非将结果覆盖回sys.path


using PyCall

sys = pyimport( "sys" )

println( length(sys.path) )

push!( sys.path, "xxx" )

println( length(sys.path) )

sys.path = push!( sys.path, "xxx" )

println( length(sys.path) )

例如我的机器上的上述脚本结果就是
12
12
13
这个怎么理解?


#2

PyCall文档写的是 pushfirst!(PyVector(pyimport("sys")["path"]), @__DIR__) 嘛,不要老自己猜该怎么写


#3

多谢!
看来得用sys."path"而不是sys.path