推荐学习书目
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
ooleslie
V2EX  ›  Python

Pycharm 中的 terminal 和系统的 terminal 有什么区别?

  •  
  •   ooleslie · Jan 9, 2019 · 10073 views
    This topic created in 2690 days ago, the information mentioned may be changed or developed.
    RT
    为什么我在 pycharm 的 terminal 中用 scrapy startproject filename 指令无效,只能在外面的 terminal 上用
    有达人可以指点下这个 terminal 和系统的区别么?
    Supplement 1  ·  Jan 10, 2019
    在这里写下解决方案

    系统的 terminal 中运行

    which bash--->/bin/bash
    which python--->/anaconda3/bin/python

    pycharm 中的 terminal 中运行

    which bash --->/bin/bash
    which python --->/usr/bin/python

    然后 pycharm 中 interpreter 中设置的解释器位置是:/Users/tnb/.conda/envs/1stconda/bin/python
    terminal 设置中显示的位置是:/bin/bash

    在这种情况下,cd 到 scrapy 爬虫文件位置是会提示不存在 scrapy 指令的

    解决方法:
    在 pycharm 的 terminal 中:
    alias python="/Users/tnb/.conda/envs/1stconda/bin/python"
    source ~/.bash_profile

    再在 pycharm 中运行 which python 显示指向 /anaconda3/bin/python (这个我猜测就是 /Users/tnb/.conda/envs/1stconda/bin/python 的快捷方式,毕竟我们关联的是这个位置)

    在运行指令就 ok 了。感动,第一次比较清晰的解决了问题
    原因应该在于 pycharm 本身的配置文件中应该有关于 python 的配置,导致和系统不一致,更好的解决方法是能够找到 pycharm 的配置文件,再改,这样还能顺便看看配置文件里面都有啥。不过我的水平有限,这个操作暂时意义不大,就先这么解决

    谢谢大家的指点
    Supplement 2  ·  Jan 22, 2019
    最终答案,谢谢底楼:
    因为 pycharm 不会自动加载 .bashrc 和 .profile
    22 replies    2019-01-21 01:37:03 +08:00
    Ahs
        1
    Ahs  
       Jan 9, 2019 via Android
    要看你 pycharm 里的
    ooleslie
        2
    ooleslie  
    OP
       Jan 9, 2019
    @Ahs 可以再说一遍么。。后半句没听清。。
    wibile
        3
    wibile  
       Jan 9, 2019   ❤️ 1
    跟 interpreter 有关啊,先搞清楚系统环境,虚拟环境,环境变量等等这些
    Ahs
        4
    Ahs  
       Jan 9, 2019 via Android   ❤️ 1
    不小心发出去了。看你当前工程里的 pycharm 的 python interpreter 是不是系统的还是 virtualenv 里
    ooleslie
        5
    ooleslie  
    OP
       Jan 9, 2019
    @wibile 谢谢,有专门介绍系统环境,虚拟环境,环境变量的意义的书么?
    akring
        6
    akring  
       Jan 9, 2019
    目测是虚拟环境没有 scrapy
    raycool
        7
    raycool  
       Jan 9, 2019
    以前 pycharm 打开终端 直接就是当前的虚拟环境了
    不知道什么时候开始,不直接进入虚拟环境了,需要手动。
    ooleslie
        8
    ooleslie  
    OP
       Jan 9, 2019
    @akring 嗯 是的。。
    ooleslie
        9
    ooleslie  
    OP
       Jan 9, 2019
    @akring 不对呀,还是不行呀,我加了 scrapy 后 还是显示 command not found
    visitant
        10
    visitant  
       Jan 9, 2019 via iPhone
    好巧啊,又是你,这个我可能没法帮你了,pycharm 用的不多,不过 idea 系列里的 terminal 好像都是打开的系统默认的 shell 啊,按楼上说的,你可以看看 terminal 激活的 python 是哪个,用 which python
    visitant
        11
    visitant  
       Jan 9, 2019 via iPhone
    @ooleslie 你看看系统的 terminal 和 pycharm 的 PATH 一样不
    jiangnanyanyu
        12
    jiangnanyanyu  
       Jan 10, 2019 via Android
    又碰到你了😳
    ooleslie
        13
    ooleslie  
    OP
       Jan 10, 2019 via Android
    嗯嗯,
    ooleslie
        14
    ooleslie  
    OP
       Jan 10, 2019 via Android
    @visitant 嗯嗯,在 pycharm 里面有 terminal 的 setting,我现在住的地方到晚上 wifi 信号干扰比较厉害 网卡 就会偷懒上来问。。。
    ooleslie
        15
    ooleslie  
    OP
       Jan 10, 2019 via Android
    @jiangnanyanyu 是呀 最近开始练项目了 自学 基础的问题比较多
    gnozix
        16
    gnozix  
       Jan 10, 2019
    @visitant 这位仁兄说的不错,另外传教一波,pipenv 了解一下
    cyspy
        17
    cyspy  
       Jan 10, 2019
    PATH 不一样
    ooleslie
        18
    ooleslie  
    OP
       Jan 10, 2019
    @cyspy 还是不行呀,我用 which bash 指令看了位置,是一样的,都是在 /bin/bash 下面啊,但是 pycharm 上就是走不了 scrapy 的命令,其他系统命令可以走,interpreter 的包里面也有 scrapy。。还有可能是什么原因呀
    ooleslie
        19
    ooleslie  
    OP
       Jan 10, 2019
    @cyspy 哦 我知道原因了,不是 bash 的 path,是 python 的 path,terminal 的 python path 配置没有跟着 interpreter 走,我看看怎么改
    visitant
        20
    visitant  
       Jan 10, 2019 via iPhone   ❤️ 1
    @ooleslie 你用错了,是 which python,which bash 的结果肯定都是一样的啊,我觉得你现在不应该纠结这些,你需要去看看 linux 入门教程,shell 入门教程,了解一下 linux 的知识。如果你是准备单纯的用 python,就不要纠结这些知识,如果想,请参考我前面说的内容
    ooleslie
        21
    ooleslie  
    OP
       Jan 10, 2019
    @visitant 嗯,是不应该在这些上面花太多时间。。其实很多指令都看过一遍了,但是没有配套的练习,又忘了。。
    Qzier
        22
    Qzier  
       Jan 21, 2019 via iPhone   ❤️ 1
    因为 pycharm 不会自动加载 .bashrc 和 .profile
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1071 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
    ♥ Do have faith in what you're doing.