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
ooleslie
V2EX  ›  Python

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

  •  
  •   ooleslie · 2019-01-09 22:18:11 +08:00 · 9505 次点击
    这是一个创建于 2174 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT
    为什么我在 pycharm 的 terminal 中用 scrapy startproject filename 指令无效,只能在外面的 terminal 上用
    有达人可以指点下这个 terminal 和系统的区别么?
    第 1 条附言  ·  2019-01-10 21:37:14 +08:00
    在这里写下解决方案

    系统的 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 的配置文件,再改,这样还能顺便看看配置文件里面都有啥。不过我的水平有限,这个操作暂时意义不大,就先这么解决

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