gpt4 book ai didi

python - 如何将 OS X Python 模块(站点包)移动到服务器位置?

转载 作者:行者123 更新时间:2023-11-30 23:27:19 26 4
gpt4 key购买 nike

在我的 Mac OS X 10.9 Mavericks 机器上,我安装了 Python 2.7.6、PySide 1.2.1 和 mysql-python 1.2.3(所有这些都是使用 Homebrew 和 Pip 安装的)。由于我在安装任何东西之前编辑了/etc/paths 以从/usr/local/bin 开始,因此所有模块都已安装在/usr/local/lib/python2.7/site-packages 中,并且 'which python' 返回/usr/local/bin/python。一切都很顺利。

是否可以以某种方式将这些模块复制到服务器位置,以供其他 OS X 计算机导入(而不是在所有其他 OS X 计算机上本地安装)?

最佳答案

我强烈建议使用Virtualenv管理您的 Pip 包。

它允许您:

  • 分隔各个项目使用的站点包
  • 忽略操作系统提供的site-packages,这样您在从 OS X 工作站迁移到 Linux 服务器时就不会发生冲突;
  • 生成一个 requirements.txt 文件,其中包含任何给定项目的 Virtualenv 中安装的所有库的确切名称和版本(此文件将提交到您的源存储库)

最后:

  • 使用简单的命令将整个 Virtualenv 重新安装到不同的计算机(甚至不同的操作系统)。

当然,其中一些功能是由 Pip 提供的,但 Virtualenv 将它们全部放入故障安全环境中。

So i have a couple of modules installed in a virtualenv, but how do I put them in a server location, and can they be read/imported without running a virtualenv on the other machines?

您提到了一些模块,例如mysql-python,需要编译成二进制模块。它们不能在不同机器之间移植。

其他模块(仅包含 Python 文件)确实可以复制到另一台计算机的站点包。但即使对于这些,最好使用 virtualenv,而不是将随机垃圾放入服务器的 site-packages 目录中。

在服务器位置,您应该安装一个干净的 virtualenv(当然,使用正确版本的 Python),然后使用 requirements.txt 文件从源安装所有必需的模块:

$ mkdir ~/virtualenv
$ python2.x virtualenv.py ~/virtualenv/your_app
$ ~/virtualenv/your_app/bin/pip install -r requirements.txt

virtualenv 路径只是一个建议。您可以从当前机器生成需求文件:

$ pip freeze > requirements.txt

关于python - 如何将 OS X Python 模块(站点包)移动到服务器位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22152323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com