繁体   English   中英

使用.sh将python模块安装到非默认版本的python

[英]Install python module to non default version of python using .sh

我有一个与此帖子类似的问题: 在Mac上将python模块安装到python的非默认版本中 ,因此我知道这些解决方案,但它们对我不起作用。

我在CentOS上安装了M2Crypto,这意味着我fedora_setup.sh build使用fedora_setup.sh build然后再使用fedora_setup.sh install才能在我的体系结构上安装。

不幸的是,默认的Python版本是2.6,但是我使用2.7。 如何执行build和install命令,以便它们生成并安装到Python2.7网站包? 有我不知道的简单命令吗? 我一直在这里搜索:Python文档中的http://docs.python.org/2/install/ ,但是我没有看到有关.sh脚本的信息?

您应该在为应用程序环境创建的virtualenv中运行脚本。 这将创建一个隔离的环境,该环境使用您创建了virtualenv的Python解释器,但具有其自己的库集。

# create the virtualenv folder: M2Crypto-venv
python2.7 virtualenv.py --distribute M2Crypto-venv

# activate the virtualenv, changing environment variables to use its Python interpreter
. M2Crypto-venv/bin/activate

# see how the current python has changed
which python        # should be M2Crypto-venv/bin/python
python --version    # should be 2.7

# after activating, run your install scripts

如果您使用的是mod_wsgi或类似的方法来提供内容,则需要先修改WSGI文件以激活virtualenv,然后再执行其他操作(根据mod_wsgi的说明改编):

import os.path

virtualenv_path = '/path/to/M2Crypto-venv'
activate_this = os.path.join(virtualenv_path, 'bin/activate_this.py')
execfile(activate_this, dict(__file__ = activate_this))

# rest of the WSGI file...

这是一个非常困难的答案,但是托管我的Webfaction的支持团队在协助我方面表现出色。 直接从支持中我得到了:

先造一口酒

wget http://prdownloads.sourceforge.net/swig/swig-2.0.8.tar.gz
tar -xf swig-2.0.8.tar.gz 
cd swig-2.0.8
./configure --prefix=$HOME
make
make install

比得到m2crypto,

svn checkout http://svn.osafoundation.org/m2crypto/tags/0.21/ m2crypto-0.21
cd m2crypto-0.21/

从这里编辑fedora_setup.sh

SWIG_FEATURES=-cpperraswarn python setup.py $*

为此,

SWIG_FEATURES=-cpperraswarn python2.7 setup.py $*

然后构建,然后安装,

./fedora_setup.sh build
./fedora_setup.sh install --prefix=$HOME

[me@web342 lib]$ python2.7
Python 2.7.5 (default, May 16 2013, 20:16:09) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import M2Crypto
>>> print M2Crypto
<module 'M2Crypto' from '/home/me/lib/python2.7/site-packages/M2Crypto-0.21-py2.7-linux-x86_64.egg/M2Crypto/__init__.pyc'>

显然,请始终替换您自己的详细信息。 希望这对下一个尝试使用fedora_setup将M2Crytpo安装到非默认python版本的人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM