Linux上有两个版本的python。如何将软件包安装到特定版本的python?

时间:2015-07-09 12:44:39

标签: python linux python-2.7 centos pip

我正在使用Linux CentOs服务器。在我的服务器中安装了两个版本的python - 2.6和2.7。两个路径都输入到路径变量中。

我正在尝试使用以下命令安装pip:

> sudo yum install python-pip 

但它安装到python2.6(/usr/bin/python)。因此,如果我尝试使用pip将软件包安装到python,则转到python2.6。例如

> pip install XlsxWriter

首先,我想将pip安装到python2.7版本,然后再安装一些软件包。 python2.7的路径是/usr/local/bin/python2.7。如何管理不同版本的python包? (我不想更改我的默认python版本(2.6)。)

我的第二个问题是......我的项目需要8个python包。如何在单个命令中安装所有软件包?在python中是否有任何概念,如package.json(用于nodejs)或composer.json(用于php)?我听说过setup.py,但我无法澄清这一点。这个setup.py概念是否类似于package.json?

3 个答案:

答案 0 :(得分:2)

如果您想控制您正在使用的Python版本,我建议您考虑virtual environments

然后,您可以为每个项目创建独立的虚拟环境,并使用您需要的Python版本。

这将使用Python 2.7为您的项目创建虚拟环境,安装<package>并停用虚拟环境。

cd my_project_folder
virtualenv -p /usr/bin/python2.7 venv
source venv/bin/activate
pip install <package>
deactivate

关于您的第二个问题,我建议您使用pip freezepip install -r ...

首先,安装所需的所有软件包:

source venv/bin/activate
pip install <package1>, <package2>,...

然后使用当前版本保存包列表:

pip freeze > requirements.txt

这将创建一个requirements.txt文件,您可以随项目一起分发。当有人想要安装所有依赖项时,他们需要这样做:

pip install -r requirements.txt

对于Python 3,默认情况下支持虚拟环境 - venv

答案 1 :(得分:0)

假设你有两个安装了2.7和3.5的python版本,

设置环境变量

  • python2 设置为python2.7
  • 的env变量
  • python 设置为python3.5的evn变量

安装python2的软件包: python2 -m pip install&lt;包名&gt;

安装python3的软件包: python -m pip install&lt; package-name&gt; 要么 pip install&lt;包名称&gt;

答案 2 :(得分:0)

尝试CONCAT(Key, '-', ID, '-', convert(varchar(10),DATE,105)),选择您的点子

然后只需执行which pip您的模块