./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。如果你也写程序想使用AUTOMAKE和AUTOCONF,可以参考CNGNU.ORG上的相关文章。
1、configure ,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如
上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),
2、make ,这一步就是编译,大多数的源代码包都经过这一步进行编译
make 的作用是开始进行源代码编译,以及一些功能的提供,
这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,
make uninstal 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,
他通过借助 Makefile 里面编写的编译规范(语法很多,类似一个可以运行的脚本程序。
反正我是看不懂,所以你也别问我怎么编写)。进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。
一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
3、make insatll ,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test
Python多版本共存
Python多版本共存是很常见的事情,我们知道在安装Python解释器的时候,需要将安装包下载下来,然后使用tar -zxvf xxx.tar.gz ;然后,进行如下操作
sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
--enable-optimizations
为最优安装,建议使用这个参数。--prefix
为指定安装的路径
进行编译安装
sudo make sudo make install
修改Python软链
默认python命令是在/usr/bin/目录下,需要在这里把软链修改成3.5.6的版本,顺便建立一个3.5.6的软链。
上图是原默认软链接,是python2.7的,其实它也己经默认建立了一个python2的软链接了。
重新命名默认python软链接为python2.7以便3.5的版本成为默认环境变量sudo mv /usr/bin/python /usr/bin/python2.7
建立python3.5版本的软链接sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python
当然,也可以不做上一步,而是将3.5版本的软链接成python3之类也是可行的。
比如我做的就是新增python3的软链接指向python3.5所在的目录。
顺便也将配置文件也做了一个软链接指向:sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config
安装virtualenv
virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。
安装
pip install virtualenv
基本使用
- 为一个工程创建一个虚拟环境:
$ cd my_project_dir $ virtualenv venv #venv为虚拟环境目录名,目录名自定义
virtualenv venv
将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip
库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv
)可以是任意的;若省略名字将会把文件均放在当前目录。
在任何你运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 venv
的文件中。
你可以选择使用一个Python解释器:
$ virtualenv -p /usr/bin/python2.7 venv # -p参数指定Python解释器程序路径
这将会使用 /usr/bin/python2.7
中的Python解释器。
- 要开始使用虚拟环境,其需要被激活:
$ source venv/bin/activate
从现在起,任何你使用pip安装的包将会放在 venv
文件夹中,与全局安装的Python隔绝开。
像平常一样安装包,比如:
$ pip install requests
- 如果你在虚拟环境中暂时完成了工作,则可以停用它:
$ . venv/bin/deactivate
这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。
要删除一个虚拟环境,只需删除它的文件夹。(执行 rm -rf venv
)。
这里virtualenv 有些不便,因为virtual的启动、停止脚本都在特定文件夹,可能一段时间后,你可能会有很多个虚拟环境散落在系统各处,你可能忘记它们的名字或者位置。
不过用anocoda会更好一些,省下单独安装Python的麻烦。
见annocoda的安装手册。