问个 Python 环境问题

2018-12-12 21:53:41 +08:00
 qwertyzzz

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

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

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

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

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

在 系统终端 中 需要自己进入虚拟环境 如果 是 pipenv 安装的 只要进入项目'pipenv shell' 就好了,exit 退出

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/517045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX