Linux 下 Python 虚拟环境怎么切换

2019-06-27 17:46:05 +08:00
 cwjokaka

系统的 python 版本为 2.7。 工程自带的虚拟环境为 3.7。 在工程根目录下执行 source venv/Scripts/activate 进入虚拟环境后,执行 python 进入编辑模式,发现所在版本仍然是系统的 2.7。有没有人知道这是什么肥四

6127 次点击
所在节点    程序员
33 条回复
wlzd
2019-06-27 18:14:04 +08:00
你这不对吧,建议导出 requirment.txt,用系统自带的 python3 安装或者使用 miniconda 创建需要的 Python 版本
encro
2019-06-27 18:14:57 +08:00
deactive
JsonLee
2019-06-27 18:15:55 +08:00
用 which 看一下 python 的路径是不是 venv 中的,如果是,那就是你创建 venv 的时候使用 python2 创建的了,改成 python3 -m virtualenv venv 来创建试试。
ysc3839
2019-06-27 18:27:06 +08:00
virtualenv 创建的时候脚本中会写死绝对路径的,你这里说“工程自带的虚拟环境”大概是从别的地方拷过来的?那是用不了的。建议使用 pipenv
rookiebulls
2019-06-27 18:43:38 +08:00
Linux 下不应该是 bin 吗,windows 才 script
xiri
2019-06-27 18:44:23 +08:00
建议用 conda,创建的虚拟环境直接带自己的 python 解释器,想用哪个版本用哪个版本,完全不用管系统带的 python 环境是啥
Abbeyok
2019-06-27 18:49:40 +08:00
使用 pyenv 更简单: https://www.abbeyok.com/archives/352
mantou99
2019-06-27 19:04:37 +08:00
workon 可以切换
Trim21
2019-06-27 19:06:29 +08:00
Linux 下面应该是 venv/bin/ac*才对吧
bmos
2019-06-27 19:08:52 +08:00
今天刚刚重命名了一个文件夹,发现 source 之后环境就不生效了,全部重新弄了一遍.
676529483
2019-06-27 21:39:33 +08:00
虚拟环境又不是分发包,指向仍然是系统安装的 python。虚拟环境的目的是隔离不同包版本,不是分发应用用的。建议安装 py3 后重建虚拟环境
chinesestudio
2019-06-27 22:39:42 +08:00
安装 python3 然后 ls 搞定 几行代码
cwjokaka
2019-06-27 23:15:05 +08:00
@ysc3839
@Abbeyok
@676529483
我遇到的大概是你们所说的这种情况了,pipenv 是否就可以解决这个问题了
polebug
2019-06-28 00:19:30 +08:00
docker 或
虚拟机(vargant) + conda
ysc3839
2019-06-28 05:27:38 +08:00
@cwjokaka pipenv 能解决项目依赖管理,可以自动创建一个 virtualenv 然后安装依赖项目。但是不能实现打包整个 Python 环境然后跨系统使用。
gtlions
2019-06-28 07:40:17 +08:00
pyenv 了解下
xiaket
2019-06-28 08:41:36 +08:00
我觉得这根本不是 Python 的问题, 而是你不太熟悉 Linux 的问题...
LokiSharp
2019-06-28 09:08:36 +08:00
pipenv
skymei
2019-06-28 09:51:47 +08:00
你都没有进入虚拟环境吧
TrickWu
2019-06-28 09:59:09 +08:00
我盲猜你是直接把 windows 下的 env 直接拷贝到了 linux 下使用

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

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

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

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

© 2021 V2EX