首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
qwertyzzz
V2EX  ›  Python

问个 Python 环境问题

  •  
  •   qwertyzzz · 2018-12-12 21:53:41 +08:00 · 1422 次点击
    这是一个创建于 412 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 pycharm 用创建了个项目 包的环境是用 pipenv 创建的 然后看 django 文档有个命令 python manage.py startapp polls,在终端执行的时候会报文件错误,但是在 pycharm 的 terminal 中就没事,mac 自带的终端怎么进入那个创建的虚拟环境来执行啊。。

    21 回复  |  直到 2018-12-13 13:55:45 +08:00
    TimePPT
        1
    TimePPT   2018-12-12 22:01:23 +08:00 via iPhone
    进入项目目录,持续使用虚拟环境 shell 就用命令 pipenv shell
    如果单纯运行一个 Python 文件就用 pipenv run python 执行文件名.py
    misaka19000
        2
    misaka19000   2018-12-12 22:03:31 +08:00
    看一下 pycharm 和 terminal 用的是不是同一个 python 环境
    qwertyzzz
        3
    qwertyzzz   2018-12-12 22:16:56 +08:00
    @TimePPT 找个命令就是在和 manage.py 同层目录执行的 在 mac 自带的终端我 cd 到找个目录执行就报错 打开 pycharm 下的 terminal 就没事 不知道咋回事 试了下了你找个还是没用。
    qwertyzzz
        4
    qwertyzzz   2018-12-12 22:17:23 +08:00
    @misaka19000 不是吧。。不然为什么 pychrm 可以执行
    qwertyzzz
        5
    qwertyzzz   2018-12-12 22:19:06 +08:00
    @TimePPT 应该是虚拟环境安装了 django 的 本机环境没装
    fanhaipeng0403
        6
    fanhaipeng0403   2018-12-12 22:40:18 +08:00
    1.本地终端没开启对应的虚拟环境?
    2. Pycharm 会自动识别一些 root 根目录,template 什么的, 在终端有时候需要把对应的目录加入到 sys.path 里

    :)
    qwertyzzz
        7
    qwertyzzz   2018-12-12 22:49:05 +08:00
    @fanhaipeng0403 不懂啊 刚用 mac 刚学 python,我是把文件拖到终端 cd 到目录里面去执行的 这个目录了赶紧用的是系统的 py 环境 系统是没装 django 的 项目的虚拟环境是装了的 pycharm 下面的那个 terminal 里面难道是自动进入那个环境的吗 我发现目录也一样的啊 奇怪了
    fanhaipeng0403
        8
    fanhaipeng0403   2018-12-12 23:03:52 +08:00
    1.下面的那个 terminal 里面难道是自动进入那个环境的吗 ?
    是的。

    2.自己打开的终端,要再次手动进入你项目使用的虚拟环境
    qwertyzzz
        9
    qwertyzzz   2018-12-12 23:14:10 +08:00
    @fanhaipeng0403 喔!那我猜的没错了 了解! 3q
    qwertyzzz
        10
    qwertyzzz   2018-12-12 23:14:48 +08:00
    @fanhaipeng0403 但是那个环境名字那么复杂 怎么 cd 进去啊 还是有什么简便的方法
    fanhaipeng0403
        11
    fanhaipeng0403   2018-12-12 23:21:21 +08:00
    @qwertyzzz pipenv shell ?
    我没怎么用过 pipenv,不过这个最近有流行度超过 virtualenv/virtualenvwrapper 的趋势
    fanhaipeng0403
        12
    fanhaipeng0403   2018-12-12 23:22:10 +08:00
    @qwertyzzz 你自己搜下吧,virtualenv 好像是进入目录 source 什么文件,virtualenvwrapper 是 work on 虚拟环境的名字
    greatbody
        13
    greatbody   2018-12-12 23:25:29 +08:00
    看成了环保问题。。。。
    qwertyzzz
        14
    qwertyzzz   2018-12-13 00:26:12 +08:00
    @fanhaipeng0403 好的 3q
    xpresslink
        15
    xpresslink   2018-12-13 10:06:05 +08:00
    出现这个现象的原因是:在 pycharm 中开 terminl 的时候,pycharm 会把所用的虚拟环境激活,环境的 path 之类的也会加到环境变量。

    在操作系统的终端中虚拟环境是没有激活的,你需要先手工激活一下。通常是 source /path_to_/venv/bin/activate
    TimePPT
        16
    TimePPT   2018-12-13 10:56:41 +08:00
    @qwertyzzz https://github.com/pypa/pipenv#-usage
    遇到问题多搜搜文档先……
    qwertyzzz
        17
    qwertyzzz   2018-12-13 11:24:39 +08:00
    @xpresslink 这样! 3q
    qwertyzzz
        18
    qwertyzzz   2018-12-13 11:25:01 +08:00
    @TimePPT 兄弟 俺刚学啊 这英文文档看不懂也没耐心看啊
    qwertyzzz
        19
    qwertyzzz   2018-12-13 11:27:43 +08:00
    @TimePPT 就是 cd 到那个目录 pipenv shell 进入对把 不知道理解的对不对
    zzzmj
        20
    zzzmj   2018-12-13 13:46:09 +08:00
    pycharm 中的 terminal 打开的时候会 默认进入 虚拟环境的(应该是有设置),如果前面 有括号 ( xxx ) 这种的就是进入了。

    在 系统终端 中 需要自己进入虚拟环境 如果 是 pipenv 安装的 只要进入项目'pipenv shell' 就好了,exit 退出
    qwertyzzz
        21
    qwertyzzz   2018-12-13 13:55:45 +08:00
    @zzzmj 没问题!
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   801 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    ♥ Do have faith in what you're doing.