python egg文件 如何安装使用

在Mac OS下用pip安装Scrapy 失败_python吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:27,619贴子:
在Mac OS下用pip安装Scrapy 失败收藏
环境:同时安装了Python 2.7,Python 3.4使用 安装命令 pip install Scrapy下载正常安装时出错:Installing collected packages: Scrapy, six, queuelib, lxml, w3lib, cssselectCleaning up...Exception:Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 671, in install
self.move_wheel_files(self.source_dir, root=root)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 901, in move_wheel_files
pycompile=self.pycompile,
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 215, in move_wheel_files
clobber(source, lib_dir, True)
File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 205, in clobber
os.makedirs(destdir)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/scrapy'似乎是权限问题,可是已经输入了Mac OS管理员密码了啊
别人站得远,我们就走近,距离便会缩小;别人若冷漠,我们待以热情,就会逐渐热络。惟有主动付出,才有丰富的果实获得收获。用微笑面对人生,也要面对自己的悲伤与痛苦,我们能面对悲伤,就是因为心中有信念。没有什么事难得到自己的,坚信光芒,铭记于心。
原来是少打了 sudosudo pip install Scrapy成功安装
我也遇到同样的问题了。。多谢楼主
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或luckcy 的BLOG
用户名:luckcy
文章数:158
评论数:73
访问量:898390
注册日期:
51CTO推荐博文
安装前确认zlib是否安装?没安装 请yum install zlib zlib-devel
tar zxvf Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=/usr && make && make install
(也可以考虑不覆盖老版本,自行定义安装路径,最后做软链接)
安装完毕,但会发现CentOS yum需要系统自带的2.4版本,主要一定修改yum,否则会导致yum不能使用。
vi /usr/bin/yum
#!/usr/bin/python修改为:#!/usr/bin/python2.4
然后安装EasyInstall
sh setuptools-0.6c11-p2y2.7.egg
安装完成后就可以直接使用easy_install命令安装第三方Python开发包了,例如:easy_install SQLObject
全部自动完成,不用一个个去找egg了。
easy_install的使用将另写博文说明,敬请关注~本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)python egg - 浮白
- 博客频道 - CSDN.NET
6597人阅读
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。egg包是目前最流行的python应用打包部署方式。如何制作和安装egg包?下面我就简单的分析了一下。
首先要安装setuptools工具。Debian/Ubuntu下可以直接使用apt安装::
$ sudo apt-get install python-setuptools
手工安装的话,有两种方式:
通过引导程序&&来安装。这个引导程序会联网下载最新版本setuptools来安装,同时也可以更新本地的setuptools。
$ wget /dist/ez_setup.py
$ sudo python ez_setup.py
更新setuptools::
$ sudo python ez_setup.py -U setuptools
或者下载setuptools的egg包来安装。可以在&&查看最新版本下载。下载完毕以后通过sh安装。
$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
$ sudo sh setuptools-0.6c11-py2.6.egg
现在就可以使用easy_install命令来安装其他的egg包了。
总是安装别人的egg包,是不是也想制作自己的egg包呢?好,接下来我们就自己制作一个简单的egg包。 首先建立工程目录egg-demo,初始化一个setup.py文件:
$ mkdir egg-demo
$ cd egg-demo
$ touch setup.py
下面主要就是填充setup.py。setup.py其实是python工具包distutils的配置文件,setuptools就是基于distutils来做的。 在setup.py中通过setup函数来配置打包信息。首先要引入setuptools的函数setup。setuptools的setup其实就是distutils的setup函数,填写setup.py为以下内容:
$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from setuptools import setup
写到这里,一个空的egg配置文件就写好了。我们可以使用下面命令生成egg包:
$ python setup.py bdist_egg
下面看看究竟生成了什么:
build/ dist/ setup.py UNKNOWN.egg-info/
可以看到多了三个文件夹。而在dist文件夹下,有一个egg文件:UNKNOWN-0.0.0-py2.6.egg。 产蛋成功!先看看这个egg文件是什么格式的:
$ file dist/UNKNOWN-0.0.0-py2.6.egg
dist/UNKNOWN-0.0.0-py2.6.egg: Zip archive data, at least v2.0 to extract
噢,原来就是一个zip压缩包呀!好,再来看看内部构造:
$ unzip -l dist/UNKNOWN-0.0.0-py2.6.egg
dist/KNOWN-0.0.0-py2.6.egg
---------- -----
EGG-INFO/SOURCES.txt
EGG-INFO/top_level.txt
EGG-INFO/zip-safe
EGG-INFO/dependency_links.txt
EGG-INFO/PKG-INFO
只有一个EGG-INFO文件夹,内含五个egg信息文件,没了。 这个egg名称未知,版本0.0.0。这是因为我们在setup里什么也没有设置。 显然,这个egg什么也不能做。 下面给它加点料。 在setup.py中,setup函数接收一系列属性作为配置参数。
name name是egg包的名称,也是寻找要打包的文件夹的名称,默认是UNKNOWN。version 版本号,默认0.0.0packages 这里要用到setuptools的另一个函数find_packages,顾名思义,find_packages用来将指定目录下的文件打包。zip_safe 默认是False,这样在每次生成egg包时都会检查项目文件的内容,确保无误。
还有一些描述性的属性,如description,long_description,author,author_email,license,keywords,platform,url等。 填充setup.py文件如下::
$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from setuptools import setup, find_packages
name = &demo&,
version=&0.1.0&,
packages = find_packages(),
zip_safe = False,
description = &egg test demo.&,
long_description = &egg test demo, haha.&,
author = &amoblin&,
author_email = &&,
license = &GPL&,
keywords = (&test&, &egg&),
platforms = &Independant&,
在egg-demo目录下建立和上述name名称相同的目录demo,demo目录下写__init__.py文件:
$ mkdir demo
$ cat demo/__init__.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
def test():
print &Hello, I'm amoblin.&
if __name__ == '__main__':
再次生成egg包以后查看egg包信息:
$ python setup.py bdist_egg
$ unzip -l dist/demo-0.1.0-py2.6.egg
dist/demo-0.1.0-py2.6.egg
---------- -----
demo/__init__.py
demo/__init__.pyc
EGG-INFO/SOURCES.txt
EGG-INFO/top_level.txt
EGG-INFO/zip-safe
EGG-INFO/dependency_links.txt
EGG-INFO/PKG-INFO
可以看到,多了一个文件夹demo,里面有我们写的__init__.py。 奉行敏捷原则,先安装了体验一下再说:
$ sudo python setup.py install
running install
install_dir /usr/local/lib/python2.6/dist-packages/
creating /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Extracting demo-0.1.0-py2.6.egg to /usr/local/lib/python2.6/dist-packages
demo 0.1.0 is already the active version in easy-install.pth
Installed /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Processing dependencies for demo==0.1.0
Finished processing dependencies for demo==0.1.0
OK!安装完毕!接下来我们就可以直接通过import来使用啦!
$ python -c &ftest()&
Hello, I'm amoblin.
成功输出!这说明安装正确。我们的一个egg包诞生了。 一般情况下,我们的源程序都放在src目录下,所以接下来将demo文件夹移动到src里。但这样也要修改setup.py文件,修改find_packages函数中参数为'src',同时增加package_dir参数:
packages=find_packages('src'),
package_dir = {'':'src'}
这样告诉setuptools在src目录下找包,而不是原来默认的工程根目录。
以python2.6版本为例,egg文件一般安装在/usr/local/lib/python2.6/dist-packages/目录下,该目录下还有一个easy-install.pth文件,用于存放安装的egg信息。:
$ cd /usr/local/lib/python2.6/dist-packages
$ cat easy-install.pth|grep demo
./demo-0.1.0-py2.6.egg
$ ls -F|grep demo
demo-0.1.0-py2.6.egg/
卸载egg文件很简单,首先将包含此egg的行从easy-install.pth中删除,然后删除egg文件夹即可。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1194384次
积分:18046
积分:18046
排名:第199名
原创:559篇
转载:290篇
评论:254条
(1)(7)(3)(4)(5)(13)(7)(14)(37)(2)(27)(16)(2)(6)(10)(1)(1)(6)(9)(10)(2)(1)(12)(12)(3)(9)(14)(5)(2)(4)(4)(22)(12)(9)(3)(10)(19)(28)(13)(20)(8)(16)(21)(12)(36)(20)(32)(11)(7)(4)(11)(2)(2)(4)(32)(31)(15)(21)(8)(10)(36)(24)(28)(44)(7)(7)(8)(5)(1)(1)(7)python-egg安装包制作
python egg安装包制作&
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python
Enterprise&
Application
Kit)开发的setuptools包里带的一个命令,它用来安装egg包。egg包是目前最流行的python应用打包部署方式。如何制作和安装egg
包?下面我就简单的分析了一下。
1.1 & 安装setuptools
首先要安装setuptools工具。Debian/Ubuntu下可以直接使用apt安装::
$ sudo apt-get install python-setuptools
1.2 & 制作自己的egg包
接下来我们就自己制作一个简单的egg包。 首先建立工程目录myeggdemo,初始化一个setup.py文件:
$ mkdir myeggdemo
$ cd myeggdemo
$ touch setup.py
下面主要就是填充setup.py。setup.py其实是python工具包distutils的配置文件,setuptools就是基于distutils来做的。
在setup.py中通过
setup函数来配置打包信息。首先要引入setuptools的函数setup。setuptools的setup其实就是distutils的setup函数,填写setup.py为以下内容
:setup函数接收一系列属性作为配置参数。
name是egg包的名称,也是寻找要打包的文件夹的名称,默认是UNKNOWN。
& & version
版本号,默认0.0.0
& & packages
这里要用到setuptools的另一个函数find_packages,顾名思义,find_packages用来将指定目录下的文件打包。
& & zip_safe
默认是False,这样在每次生成egg包时都会检查项目文件的内容,确保无误。
还有一些描述性的属性,如description,long_description,author,author_email,license,keywords,platform,url等。
填充setup.py文
$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from setuptools import setup, find_packages
& name = 'mydemo',
& version = '0.1.0',
& packages =
find_packages('src'),&
& package_dir =
{'':'src'},&
& description = "egg test mydemo",
& long_description = "egg test demo.",
& author = 'zhouguoqing',
& author_email =
'zhouguoqing\@',
& license = 'GPL',
& keywords = 'test api mydemo',
& platforms = "Independant",
& url = '',
在myeggdemo目录下建立和上述name名称相同的目录mydemo,mydemo目录下写__init__.py文件:
$ mkdir mydemo
$ & mydemo/__init__.py
$ vim mydemo/test.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
def test():
& & print "i'm egg
def hello():
& & print "Hello egg
if __name__ == "__main__":
& & test()
& & hello()
再次生成egg包以后查看egg包信息:
$ python setup.py bdist_egg
可以看到,多了一个文件夹,先安装了体验一下再说:
$ sudo python setup.py install
running install
Copying ...
Processing mydemo-0.1.0-py2.7.egg
Copying mydemo-0.1.0-py2.7.egg to
/usr/local/lib/python2.7/dist-packages
Adding mydemo 0.1.0 to easy-install.pth file
/usr/local/lib/python2.7/dist-packages/mydemo-0.1.0-py2.7.egg
Processing dependencies for mydemo==0.1.0
Finished processing dependencies for mydemo==0.1.0
OK!安装完毕!接下来我们就可以直接通过import来使用啦!
$python -c "from mydemo import
test.test();test.hello()"
i'm egg demo
Hello egg ok.
egg文件卸载
以python2.7版本为例,egg文件一般安装在/usr/local/lib/python2.7/dist-packages/目录下,该目录下还有一个easy-install.pth文件,用于
存放安装的egg信息。:
$ cd /usr/local/lib/python2.7/dist-packages
$ cat easy-install.pth|grep mydemo
./mydemo-0.1.0-py2.7.egg
$ ls -F|grep mydemo
mydemo-0.1.0-py2.7.egg/
卸载egg文件很简单,首先将包含此egg的行从easy-install.pth中删除,然后删除egg文件夹即可。
vim easy-install.pth 删除 ./mydemo-0.1.0-py2.7.egg 行
sudo rm -rf mydemo-0.1.0-py2.7.egg&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Python lxml模块安装教程
lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为存在依赖,直接安装的话用easy_install, pip都不能成功,会报gcc错误。下面列出来Windows、Linux下面的安装方法:
【Windows系统】
先确保Python已经安装好,环境变量也配置好了,相应的的easy_install、pip也安装好了.
1. 执行 pip install virtualenv
C:\&pip install virtualenv&
Requirement already satisfied (use --upgrade to upgrade): virtualenv in c:\python27\lib\site-package&
s\virtualenv-12.0.4-py2.7.egg&
2. 从官方网站下载与系统,Python版本匹配的lxml文件:
比如说我的电脑是Python 2.7.4, 64位操作系统,那么我就可以下载
lxml-2.3-py2.7-win-amd64.egg (md5)&&&& # Python Egg&
lxml-2.3.win-amd64-py2.7.exe (md5)&&&& # MS Windows installer&
3. 执行 easy_install lxml-2.3-py2.7-win-amd64.egg
D:\Downloads&easy_install lxml-2.3-py2.7-win-amd64.egg&&& # 进入该文件所在目录执行该命令&
Processing lxml-2.3-py2.7-win-amd64.egg&
creating c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg&
Extracting lxml-2.3-py2.7-win-amd64.egg to c:\python27\lib\site-packages&
Adding lxml 2.3 to easy-install.pth file&
Installed c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg&
Processing dependencies for lxml==2.3&
Finished processing dependencies for lxml==2.3&
1. 可用exe可执行文件,方法更简单直接安装就可以
2. 可用easy_install安装方式,也可以用pip的方式
#再执行下,就安装成功了!&
&&& import lxml&&&&
3. 如用pip安装,常用命令就是:
pip install simplejson&&&&&&&&&&&&&&&&&&&&& # 安装Python包
pip install --upgrade simplejson&&&&&&&&& # 升级Python包
pip uninstall simplejson&&&&&&&&&&&&&&&&&&& # 卸载Python包
4. 如用Eclipse+Pydev的开发方式,需要移除旧包,重新加载一次
Window --& Preferences --& PyDev --& Interperter-python&& # 否则导包的时候会报错
【Linux系统】
因为lxml依赖的包如下:
libxml2, libxml2-devel, libxlst, libxlst-devel, python-libxml2, python-libxslt
所以安装步骤如下:
第一步: 安装 libxml2
$ sudo apt-get install libxml2 libxml2-dev&
第二步: 安装 libxslt
$ sudo apt-get install libxlst libxslt-dev
第三步: 安装 python-libxml2 和 python-libxslt
$ sudo apt-get install python-libxml2 python-libxslt
第四步: 安装 lxml
$ sudo easy_install lxml
参考官方文档:
如果您喜欢本文请分享给您的好友,谢谢!
下一篇:没有了
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

我要回帖

更多关于 python如何安装库 的文章

 

随机推荐