V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
nevin47
V2EX  ›  Python

PyCharm 控制台问题

  •  
  •   nevin47 · 2015-07-22 09:18:55 +08:00 · 8857 次点击
    这是一个创建于 3448 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直在用Canopy在做数据挖掘的算法,经常习惯运行了Python文件后利用Canopy内置的控制台去调用一些函数或者变量查看程序的运行情况

    但是现在实在受不了Canopy那个IDE和非常反人类的Package管理器了,转战PyCharm。不过现在发现PyCharm的Python Console里面不能像Canopy那样轻松调用变量或者方法了,不知道大家平时是怎么实现这个功能的呢

    18 条回复    2015-07-24 14:36:07 +08:00
    caomaocao
        1
    caomaocao  
       2015-07-22 09:24:49 +08:00
    我发现:执行一块代码,关闭console,再想执行一块代码就不行了,只能重开pycharm。。。
    ligyxy
        2
    ligyxy  
       2015-07-22 10:06:01 +08:00
    PyCharm支持IPython
    LPeJuN6lLsS9
        3
    LPeJuN6lLsS9  
       2015-07-22 10:33:02 +08:00
    我的方法是在想要执行任意代码的地方断点,然后开调试,到断点后在调试器里执行代码

    Canopy那边如果不是单文件的脚本,应该也要这样吧?不然在PyCharm里可以全选文件然后在控制台里执行
    jackysc
        4
    jackysc  
       2015-07-22 11:51:07 +08:00
    装个ipython吧
    decken
        5
    decken  
       2015-07-22 13:10:31 +08:00 via Android
    内置的dos控制台更难用 居然不支持光标移动
    nevin47
        6
    nevin47  
    OP
       2015-07-22 13:34:34 +08:00
    @caomaocao 哪个版本的有这么神奇的BUG……
    nevin47
        7
    nevin47  
    OP
       2015-07-22 13:37:46 +08:00
    @hantsuki 现在我就是这么做的,但是这么太不方便了

    @jackysc
    @ligyxy
    确实内置了IPython的,求解怎么像Canopy那样运行了脚本后可以随意调用函数啊,我点击RUN了之后跑了一下就进程自己终止了
    ligyxy
        8
    ligyxy  
       2015-07-22 13:52:26 +08:00 via Android
    打开ipython, Alt+Shift+E运行当前行或选中的代码
    LPeJuN6lLsS9
        9
    LPeJuN6lLsS9  
       2015-07-22 14:04:45 +08:00
    @nevin47 调试器法是程序很复杂的时候才用的,比如要在函数里面执行代码,或者程序不止一个文件又不方便运行
    你说的是全选然后在控制台里执行吗?只有两组快捷键,可以录个宏整合成一组
    ligyxy
        10
    ligyxy  
       2015-07-22 14:09:04 +08:00
    顺带说一句,寻找这个快捷键组合是我使用PyCharm后做的第一件事。还真不好找。。
    neoblackcap
        11
    neoblackcap  
       2015-07-22 14:18:09 +08:00
    @nevin47 点debug而非run啊,debug就是可以断点,PyCharm的断点是你在代码行数的左边点一下,然后就会出现一个红色小圆点,还有的是你应该多看看手册
    jixiangqd
        12
    jixiangqd  
       2015-07-22 16:21:05 +08:00
    起了console之后可以import工程里的包,然后就可以调用包里的程序了
    可以在setting里设置starting script自动导入包
    nevin47
        13
    nevin47  
    OP
       2015-07-22 20:58:35 +08:00
    @ligyxy 这个确实是曲线救国了
    nevin47
        14
    nevin47  
    OP
       2015-07-22 20:58:50 +08:00
    @jixiangqd 额,我随便import了一个没用呢
    nevin47
        15
    nevin47  
    OP
       2015-07-22 21:02:18 +08:00
    @neoblackcap 我可能没描述清楚。Canopy里面写一个脚本,里面写好了各种方法,然后RUN一次,就可以在Console里面通过手工调用的办法来测试函数了。如果会运行一些代码,那么可以直接在Console里面敲代码的名称查看代码在最后一刻的值。这个功能比较方便做算法的时候查看算法的核心函数是否正确,同时可以查看一些关键变量。

    到了PyCharm里面现在没找到这个功能了,并不是简单的设置断点然后debug
    ligyxy
        16
    ligyxy  
       2015-07-22 22:18:25 +08:00 via Android
    曲线何解?用ipython取代terminal的控制台,来运行代码片段,并没感觉绕了什么弯呢?
    silajoin
        17
    silajoin  
       2015-07-23 11:13:20 +08:00
    mark. 这个也是我想要的功能. 代码调试,或者只是想手工跑下某个函数看下输出的时候很有用。
    jixiangqd
        18
    jixiangqd  
       2015-07-24 14:36:07 +08:00
    @nevin47 额~我这边是能用的。。。直接import子包,比如工程内有个test包(就是test文件夹里面有__init__.py)就可以直接import test,工程文件夹内有main.py可以直接import main。如果不行的话,看看setting的Console的设置里有没有勾Add content roots to PYTHONPATH
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2608 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.