linux下载swampy-2.1.7.tar.gz的安装包,
tar -xzv -f *** -C *** 解压文件到指定文件夹,这里发生了一个插曲,下载的文件不全生成的是.tar.gz.part文件,却没注意。.part文件是指压缩文件的一部分,也就是不全啦。
接下来怎么使用swampy,按照thinkpython官方的说法是
一。 install as package
二 。work in the directory that contains the Swampy files
三。add that directory to Python's search path
倒者来一个个试验下:
三。add that directory to Python's search path:
通过linux下man python 再 /searchpath 搜索关于搜索路径的内容,找到sys.path是python的search path
下面为sys.path 添加路径,观察知 ‘ ‘ 内包含的即是路径
注意path是个list,给list添加元素如后附文件所示。
官网给出的做法是On Ubuntu, you can run
sudo apt-get install python-tk
但我的是centos ,所以
yum -y install tkinte
后附一片博客包含了其他centos使用Tkiinter的办法。
但是 每次quit()之后发现sys.path都会恢复初始值,很不方便。写入script又不能用于其他用户,因为path不一样啦。
所以,推荐还是用第一种方法 安装这个package。第二个在那个路径运行python我觉得有些low并且同样不适合script。
一。install as package
方法就是先下载包,再解压并进入包的目录,再运行
python setup.py install
亲测成功。
%%%%%%%%%%%%%%%%%%%%%%%%%%此为分割线%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
接下来copy一个有用的博客:http://zhidao.baidu.com/link?url=LOS3Y9qj5mhWBVRF-QwuPwM2AIt_fVK9tBJ3C8OwZ_hLyLAUuN1wU4JIs4dDMqmZo8L_WMEJf8hTkc1a4lW1GK
List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作)。
在Python中,向List添加元素,方法有如下4种方法(append(),extend(),insert(), +加号)
1. append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。此元素如果是一个list,那么这个list将作为一个整体进行追加,注意append()和extend()的区别。
>>> list1=['a','b'] >>> list1.append('c') >>> list1 ['a', 'b', 'c']
2. extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数;extend()相当于是将list B 连接到list A上。
>>> list1 ['a', 'b', 'c'] >>> list1.extend('d') >>> list1 ['a', 'b', 'c', 'd']
3. insert() 将一个元素插入到列表中,但其参数有两个(如insert(1,”g”)),第一个参数是索引点,即插入的位置,第二个参数是插入的元素。
>>> list1 ['a', 'b', 'c', 'd'] >>> list1.insert(1,'x') >>> list1 ['a', 'x', 'b', 'c', 'd']
4. + 加号,将两个list相加,会返回到一个新的list对象,注意与前三种的区别。前面三种方法(append, extend, insert)可对列表增加元素的操作,他们没有返回值,是直接修改了原数据对象。 注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用List的append()方法。
>>> list1 ['a', 'x', 'b', 'c', 'd'] >>> list2=['y','z'] >>> list3=list1+list2 >>> list3 ['a', 'x', 'b', 'c', 'd', 'y', 'z']
Python删除list中的元素
# 1.使用del删除对应下标的元素
del li[2]
# li = [1,2,4,5,6]
# 2.使用.pop()删除最后一个元素
li.pop()
# li = [1,2,4,5]
# 3.删除指定值的元素
li.remove(4)
# li = [1,2,5]
# 4.使用切片来删除
li = li[:-1]
# li = [1,2]
# !!!切忌使用这个方法,如果li被作为参数传入函数,
# 那么在函数内使用这种删除方法,将不会改变原list
li = [1,2,3,4,5,6]
def delete(li, index):
li = li[:index] + li[index+1:]
delete(li, 3)
print li
# 会输出[1,2,3,4,5,6]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%此为分割线%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
centos 安装Tkinter
另,inux下查找某个文件位置的方法:find / -name 要查找的名字
一、安装tkinter
在Linux中python默认是不安装Tkinter模块,
复制代码 代码如下:
[root@li250-193 ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter
>>>
我们安装Tkinter模块
复制代码 代码如下:
[root@li250-193 ~]# yum -y install tkinter
...
[root@li250-193 ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>>
二、升级Python
Linux的Python版本默认都不叫低
查看Python版本
复制代码 代码如下:
[root@li250-193 ~]# python -V
Python 2.6.6
DOWN新版本
复制代码 代码如下:
[root@li250-193 ~]# wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz
解压安装
复制代码 代码如下:
[root@li250-193 ~]# tar -xf Python-2.7.4.tgz
[root@li250-193 ~]# cd Python-2.7.4
[root@li250-193 Python-2.7.4]# ./configure
...
[root@li250-193 Python-2.7.4]# make
...
[root@li250-193 Python-2.7.4]# make install
...
看看新版本Python是否可以使用Tkinter?
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# ./python
Python 2.7.4 (default, Apr 12 2013, 08:03:09)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/Python-2.7.4/Lib/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
>>>
提示找不到tkinter模块?看看旧版的是不是正常
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>>
旧版的没问题,难道需要yum install tkinter一次?
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# yum install tkinter
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.team-cymru.org
* extras: mirror.team-cymru.org
* updates: mirror.team-cymru.org
Setting up Install Process
Package tkinter-2.6.6-36.el6.x86_64 already installed and latest version
Nothing to do
提示已安装,看来不是tkinter的问题,看看tkinter模块在哪里?
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# find /usr -name *tkinter.so
/usr/lib64/python2.6/lib-dynload/_tkinter.so
找到一个,在2.6旧版本的目录下,估计是因为新版本库指向问题。于是认真读了README说明。重新配置安装
三、正确安装新版Python
首先修改Setup.dist文件
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# vim Modules/Setup.dist
找到下面这几行,把前面的井号去掉打开它
复制代码 代码如下:
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
-L/usr/local/lib \
-I/usr/local/include \
-ltk8.5 -ltcl8.5 \
-lX11
以上第四行
-ltk8.5 -ltcl8.5 默认是 8.2 ,请你系统实际tcl/tk版本修改
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# rpm -qa | grep ^tk
tk-8.5.7-5.el6.x86_64
tkinter-2.6.6-36.el6.x86_64
[root@li250-193 Python-2.7.4]# rpm -qa | grep ^tcl
tcl-8.5.7-6.el6.x86_64
我系统中装的是8.5,所以这里我改成了8.5
保存退出
安装tck-devel、tk-devel
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# yum -y install tcl-devel tk-devel
开始配置安装
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# ldconfig
[root@li250-193 Python-2.7.4]# ./configure
...
[root@li250-193 Python-2.7.4]# make
...
[root@li250-193 Python-2.7.4]# make install
...
看下新版Python是否可以使用tkinter模块
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# ./python
Python 2.7.4 (default, Apr 12 2013, 08:49:11)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>>
已经没问题,旧版再看看
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# /usr/bin/python2.6
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>>
也没问题
如果直接敲入python -V查看版本是不是最新的,如果不是可以这么干:
which出python命令路径
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# which python
/usr/local/bin/python
cp 过去
复制代码 代码如下:
[root@li250-193 Python-2.7.4]# cp python /usr/local/bin/python
四、升级Python引起yum版本无法使用的问题解决
不少童鞋安装后就
复制代码 代码如下:
cp python /usr/bin/python
导致yum时就提示
复制代码 代码如下:
[root@lee ~]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.4 (default, Apr 9 2013, 17:12:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
[root@lee ~]#
因为yum头部默认制定python脚本的路径就是
复制代码 代码如下:
#! /usr/bin/python
你把旧版的python替换后就是用不了,不知道为何新版Python不能被yum识别,目前唯一最好解决的方法就是修改yum头部声明
改成
复制代码 代码如下:
#! /usr/bin/python2.6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%此为分割线%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
之前有的朋友问我,CentOS版本怎么安装python的pip,我之前给出的Ubuntu下apt-get的方法
ubuntu 需要先安装下pip吧,
apt-get install python-pip
安装requests,
pip install requests
但是有的朋友由于是centos的,直接 yum install pip 或者 yum install python-pip都是不行的。
其实不能yum那就直接下载编译安装呗。。。
CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下:
截至包子写本文的时候,pip最新为 1.5.5
wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
注意:wget获取https的时候要加上:--no-check-certificate
tar zvxf 1.5.5.tar.gz #解压文件
cd pip-1.5.5/
python setup.py install
OK,这样就安装好pip了,
下面来安装 requests吧。
pip install requests