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

venv 使用的问题

  •  
  •   keroppi · 2021-01-21 15:50:48 +08:00 · 2285 次点击
    这是一个创建于 1392 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小白,刚入手 python

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

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

    导出配置:
    pip freeze > rq.txt

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


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

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

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

    能说下理由吗?

    因为最近几年都自己研究 Python,没有在工作环境大量用,所以不清楚,虚心求教。
    julyclyde
        21
    julyclyde  
       2021-01-22 15:24:31 +08:00
    @no1xsyzy 我指的是给软件命名的时候特地选一些常见词,甚至硬凑,这个是个很恶意的习惯
    no1xsyzy
        22
    no1xsyzy  
       2021-01-22 15:33:45 +08:00
    @julyclyde 这个……
    也不是开源界的问题,是程序员共通问题…… “Windows” (视窗操作系统)
    至于硬凑其实是英文的习惯…… “A.M.B.E.R.” (安珀警报)
    倒也不至于恶意,恶作剧文化吧。
    no1xsyzy
        23
    no1xsyzy  
       2021-01-22 15:49:38 +08:00
    @encro 先来个冷笑话:因为相比 npm 更倾向 yarn ( npm 和 yarn 功能已经差距不大了)
    不过我没用过 Pipenv,也好奇这个问题。
    看到有这么一说: https://frostming.com/2019/01-04/pipenv-poetry/#update
    Pipenv 使用了 virtualenv 而不是 venv,会导致一些问题。
    julyclyde
        24
    julyclyde  
       2021-01-22 16:42:55 +08:00
    @no1xsyzy Windows 倒不算,名如其实;其他有一些,比如你说的 AMBER
    no1xsyzy
        25
    no1xsyzy  
       2021-01-22 21:12:16 +08:00
    @julyclyde 问题是 Xerox 最初的版本就是那样的窗口啊……
    名字有关能接受的话,那再来点 Apple 和 Lisa
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1333 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:37 · PVG 07:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.