venv 使用的问题

2021-01-21 15:50:48 +08:00
 keroppi
小白,刚入手 python

练手项目使用了 venv, 项目目录 /venv/Lib/site-packages 下面也有项目所需的依赖包,但我把整个项目文件夹复制到其他电脑后,进入 venv 环境执行脚本依然提示要安装依赖包,是不是我方式不对还是对 venv 使用理解有误?
2285 次点击
所在节点    Python
25 条回复
ox180
2021-01-21 15:57:25 +08:00
copy 有可能有用,但是不建议这么做,因为有可能会涉及到依赖包编译安装的问题,比如 windows 和 linux
重装依赖试试呢
encro
2021-01-21 15:57:42 +08:00
既然是虚拟环境,
那么就不是真实的,
你复制了一个虚拟的去,
那么。。。

pyinstaller ?
encro
2021-01-21 15:59:57 +08:00
正确姿势:

导出配置:
pip freeze > rq.txt

重新安装:
pip install -r rq.txt


或者用
pipenv 自动生成 Pipfile
no1xsyzy
2021-01-21 16:00:54 +08:00
缺什么包?
用 importlib 看下这个包在哪儿
no1xsyzy
2021-01-21 16:01:28 +08:00
既然提了其他的工具,那我提一个,
或者 poetry 写 pyproject.toml
Jirajine
2021-01-21 16:01:38 +08:00
不要直接裸用 venv,用个依赖管理器。
推荐 poetry 、pyflow
renmu123
2021-01-21 16:02:06 +08:00
直接复制很容易出问题,有些是需要编译的,现在我建议使用 poetry 来进行包管理
arischow
2021-01-21 16:03:10 +08:00
你应该用的 macOS 吧?
brew 安装 poetry 和 pyenv 会比较方便。
wzwwzw
2021-01-21 17:52:30 +08:00
推荐使用 poetry 作为包管理
zeroDev
2021-01-21 17:54:15 +08:00
虚拟环境不能复制使用(同电脑也不可以)
justin2018
2021-01-21 20:09:33 +08:00
miniconda 如何~ 我也是被人安利的~
learningman
2021-01-21 20:13:44 +08:00
@no1xsyzy poetry 奇怪 bug 太多了。。。然后这玩意儿又查不到啥信息,没法用
2kCS5c0b0ITXE5k2
2021-01-21 20:15:48 +08:00
最好别复制, 有包管理为什么不用呢。GitHub 现在也有免费的私有项目了。
no1xsyzy
2021-01-21 21:07:59 +08:00
@learningman 官方 document 已经够了……
另外,你要搜索的话有个问题,poetry 是一个常见英文单词(可能是常见 2000 词),搜索出来的都是关于 “诗人” 的东西。
你每次搜索都得 python poetry 一起上。
当然你也可以开个小号上 V2 钓鱼(莱因哈特定律:与其询问答案,不如直接公布一个错误的答案,马上会有人来指正你,比如 “如何用 XXX 实现 YYY ?” 没什么人回答,“XXX 太差劲了,连 YYY 都做不到” 马上有人跳你脸上告诉你一万种方法)
try4times
2021-01-21 22:34:00 +08:00
用 docker
learningman
2021-01-21 22:40:08 +08:00
@no1xsyzy 不是,我指的是相关支持很糟糕
我当然会搜索啊,但是一翻文档他告诉你这个是个 Known Issue,心态肯定崩了啊
julyclyde
2021-01-22 10:43:58 +08:00
@no1xsyzy 这是开源界一个很恶意的作风
no1xsyzy
2021-01-22 12:32:41 +08:00
@learningman 哦那倒是

@julyclyde 你说钓鱼拿答案?不止是开源界,作为人类来说就挺恶意的了。运用人性的 “弱点”
karatsuba
2021-01-22 14:51:50 +08:00
试试 docker
encro
2021-01-22 15:20:52 +08:00
@no1xsyzy
@Jirajine
@wzwwzw
@arischow

我简单对搜索了下 pipenv 和 poetry,
没有发现 peotry 有什么不同,
感觉 peotry 更加复杂,
为什么清一色都是推荐 peotry 呢?

能说下理由吗?

因为最近几年都自己研究 Python,没有在工作环境大量用,所以不清楚,虚心求教。

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

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

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

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

© 2021 V2EX