跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 有对虚拟环境熟悉的大佬吗
未分類
11 12 月 2020

有对虚拟环境熟悉的大佬吗

有对虚拟环境熟悉的大佬吗

資深大佬 : IVeverKB 7

虚拟环境是直接用 python 自带的 venv 命令装的

无网环境,已知虚拟环境 1 有我需要的包 A,虚拟环境 2 没有,那能不能直接从虚拟环境 1 的文件夹里找到包 A 对应的文件拷贝到虚拟环境 2 中呢,如果可以的话需要拷贝哪些文件?

另,如果所需的新虚拟环境 python 包跟已有的虚拟环境 1 一模一样,在不共用一个虚拟环境的前提下,我是否能将虚拟环境 1 直接拷贝到我想要的路径,并且更改虚拟环境文件夹的名字?或者需要做哪些改动才能达到我想要的效果?

网上找的一般都是用 requirements.txt 和 pip install,但我现在遇到无网的情况,望指点

感谢

大佬有話說 (9)

  • 資深大佬 : yuanxing008

    pip install 也不是说一定要网络的 可以装本地包的

  • 資深大佬 : 614457662

    复用原来的环境有什么问题吗?既然是无网环境,你代码怎么上去的时候,把你需要的 whl 文件和代码一起带上去,就离线安装也可以。

  • 資深大佬 : gstqc

    1. 复制 venv/lib/python<version>/site-packages/<package_name>
    2. 同一个发行版可以的

  • 主 資深大佬 : IVeverKB

    @yuanxing008 #1
    @614457662 #2
    本地包是指 whl 离线安装包吗,其实也不是不可以但导入导出要申请过程麻烦。所以现在问是否在不用离线安装包的情况下,就是使用原有虚拟环境文件夹的资源就可以复用一下想要的包,一定程度上简化一下程序吧。

  • 資深大佬 : YouLMAO

    Conda 大师来了

  • 資深大佬 : xia0pia0

    默认是在 site-package 下面,其实 Python 找包就是从 sys.path 去找的, 虚拟环境 1:python shell> import sys print(sys.path)

  • 主 資深大佬 : IVeverKB

    @gstqc #3 谢谢小熊维尼!!
    @xia0pia0 #6 谢谢懂了!

  • 資深大佬 : frostming

    亲可以离线安装的,首先把你所有的依赖都生成到 requirements.txt 中

    1. 在联网的机器中:pip download -r requirements.txt -d packages
    2. 把 requirements.txt 以及 packages 目录整个传到另一个无网的机器上
    3. 在无网机器上创建好虚拟环境,然后 pip install -r requirements.txt -f packages

  • 資深大佬 : ClericPy

    最近也做这种多机发布的活, 现在用自带 zipapp 打包 pyz 那个协议, 发布时候就是推到多个机器一起挂载的那个 nas 上, 运行就直接 python3 xxx.pyz abc.py. 没有 .so / .pyd 那种动态依赖的情况下, 单个 zip 文件发布和运行都很方便, 就算有也没事, 解压就能使了

    目前没发现大问题. 打包 pyz 之前用的 shiv, 现在在自己写. 总之 zip 文件里其实放的就是一堆 pip 下下来的包或者自己添加进去的依赖, 只要注意一下编译相关的冲突就好了, 比如跨平台(Linux 编译的没法在 win 上)或者跨 python 版本(3.7 和 3.8 有时候都因为编译器不一致出问题)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具