python stack frames not initialized (inspect.currentframe() fails)
- Ngôn ngữ chính
- Julia
- Star
- 1.5k
- Fork
- 186
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I was trying to use `PyCall` to import `ggplot` from https://github.com/yhat/ggplot/
The `qplot` function works fine.
```
ggplot.qplot([1,2],[3,4])
```
However, I can never get the `ggplot` function working. Specially, I can never create the `aes` class
```
julia> using PyCall
julia> @pyimport ggplot
julia> ggplot.aes
PyObject
julia> ggplot.aes(x="x",y="y")
ERROR: type: apply: expected Function, got PyObject
julia> pycall(ggplot.aes, PyObject, x="x",y="y")
ERROR: PyError (PyObject_Call)
AttributeError("'NoneType' object has no attribute 'f_locals'",)
File "/Users/Randy/.pyenv/versions/2.7.6/Python.framework/Versions/2.7/lib/python2.7/site-packages/ggplot/components/aes.py", line 68, in __init__
self.__eval_env__ = EvalEnvironment.capture(1)
File "/Users/Randy/.pyenv/versions/2.7.6/Python.framework/Versions/2.7/lib/python2.7/site-packages/patsy/eval.py", line 179, in capture
return cls([frame.f_locals, frame.f_globals],
in pyerr_check at /Users/Randy/.julia/v0.3/PyCall/src/exception.jl:58
in pycall at /Users/Randy/.julia/v0.3/PyCall/src/PyCall.jl:85
```
It seems that `ggplot` is calling `patsy` and checking some stack frame stuff.
---
Further study reveals that the root of the error is `.../patsy/eval.py` line 179
```
frame = inspect.currentframe()
try:
for i in xrange(depth + 1):
if frame is None:
raise ValueError, "call-stack is not that deep!"
frame = frame.f_back
return cls([frame.f_locals, frame.f_globals],
frame.f_code.co_flags & _ALL_FUTURE_FLAGS)
```
I have no idea what happens here...
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.