如何将OS X Python模块(站点包)移动到服务器位置?
在我的Mac OS X 10.9 Mavericks机器上,我安装了Python 2.7.6、PySide 1.2.1和mysql Python 1.2.3(所有这些都是使用和Pip安装的)。由于我在安装任何东西之前编辑了以/usr/local/bin开头的/etc/path,所以所有模块都安装在/usr/local/lib/python2.7/site-packages中,并且“which python”返回/usr/local/bin/python。一切顺利 是否可以以某种方式将这些模块复制到服务器位置,以便其他OS X机器导入(而不是在所有其他OS X机器上本地安装)?我强烈建议使用来管理您的Pip软件包 它允许您:如何将OS X Python模块(站点包)移动到服务器位置?,python,macos,Python,Macos,在我的Mac OS X 10.9 Mavericks机器上,我安装了Python 2.7.6、PySide 1.2.1和mysql Python 1.2.3(所有这些都是使用和Pip安装的)。由于我在安装任何东西之前编辑了以/usr/local/bin开头的/etc/path,所以所有模块都安装在/usr/local/lib/python2.7/site-packages中,并且“which python”返回/usr/local/bin/python。一切顺利 是否可以以某种方式将这些模块复制
- 将各个项目使用的
分开李>站点包
- 忽略操作系统提供的
,这样在从OS X工作站移动到Linux服务器时不会发生冲突李>站点包
- 生成一个
文件,其中包含任何给定项目的Virtualenv中安装的所有库的确切名称和版本(此文件将提交到源存储库)requirements.txt
- 只需一个简单的命令,即可将整个Virtualenv重新安装到不同的机器(甚至是不同的操作系统)
因此,我在virtualenv中安装了几个模块,但是如何将它们放在服务器位置,并且在其他机器上不运行virtualenv的情况下可以读取/导入它们 您提到了一些模块,比如mysql-python,它们需要编译成二进制模块。它们不能在不同的机器之间进行移植 其他模块(仅为Python文件)确实可以复制到另一台机器的
站点包中。但即使是这些,最好还是使用virtualenv,而不是将随机垃圾放入服务器的站点包
目录
在服务器位置,您应该安装一个干净的virtualenv(当然使用正确版本的Python),然后使用requirements.txt
文件从源代码安装所有必需的模块:
$ mkdir ~/virtualenv
$ python2.x virtualenv.py ~/virtualenv/your_app
$ ~/virtualenv/your_app/bin/pip install -r requirements.txt
虚拟路径只是一个建议。您可以从当前计算机生成需求文件:
$ pip freeze > requirements.txt
因此,我在virtualenv中安装了几个模块,但是如何将它们放在服务器位置,并且在其他机器上不运行virtualenv的情况下可以读取/导入它们?