标签: buildout

使用virtualenv或buildout安装PIL的问题

当我使用easy_install或buildout安装PIL时,它会以这种方式安装,我必须执行'import Image',而不是'来自PIL import Image'.

但是,如果我做"apt-get install python-imaging"或使用"pip -E test_pil install PIL",一切正常.

以下是我尝试使用virtualenv安装PIL的示例:

# virtualenv --no-site-packages test_pil
# test_pil/bin/easy_install PIL
# test_pil/bin/python
Python 2.5.1 (r251:54863, Feb  6 2009, 19:02:12) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PIL
Run Code Online (Sandbox Code Playgroud)

我明白了,easy_install将PIL打包到Egg中,而PIP则没有.与buildbot相同,它使用鸡蛋.

如何使用easy_install或buildout正确安装PIL?

python pip buildout easy-install python-imaging-library

70
推荐指数
4
解决办法
4万
查看次数

如何在setup.py中指定库版本?

在我的setup.py文件中,我已经指定了运行我的项目所需的一些库:

setup(
    # ...
    install_requires = [
        'django-pipeline',
        'south'
    ]
)
Run Code Online (Sandbox Code Playgroud)

如何指定这些库的必需版本?

python buildout

65
推荐指数
2
解决办法
3万
查看次数

Django 1.8和syncdb/migrate的auth_user错误

升级到Django 1.8(使用zc.buildout)并运行syncdb或migrate时,我收到以下消息:

django.db.utils.ProgrammingError: relation "auth_user" does not exist

我的一个模型包含django.contrib.auth.models.User:

user = models.ForeignKey(
    User, related_name='%(app_label)s_%(class)s_user',
    blank=True, null=True, editable=False
)
Run Code Online (Sandbox Code Playgroud)

降级到Django 1.7可以消除错误.我是否必须在Django 1.8中以不同方式包含User对象?

python django buildout django-syncdb django-1.8

46
推荐指数
6
解决办法
3万
查看次数

如何在bin/python bootstrap.py -d期间解决pkg_resources.VersionConflict错误

我想使用python plone-devstart.py工具创建一个新的plone环境.我有一个引导程序错误.所以我在项目目录中使用了命令bin/python bootstrap.py -d.它(bin/python bootstrap.py -d命令)之前工作正常但是现在我得到了一个错误

oomsys@oomsysmob-6:~/demobrun$ bin/python bootstrap.py -d
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-  
0.6.49.tar.gz
Extracting in /tmp/tmpDqVwYA
Now working in /tmp/tmpDqVwYA/distribute-0.6.49
Building a Distribute egg in /tmp/tmpv4Bzyv
/tmp/tmpv4Bzyv/distribute-0.6.49-py2.7.egg
Traceback (most recent call last):
File "bootstrap.py", line 118, in <module>
ws.require('zc.buildout' + VERSION)
File "build/bdist.linux-i686/egg/pkg_resources.py", line 698, in require
File "build/bdist.linux-i686/egg/pkg_resources.py", line 600, in resolve
pkg_resources.VersionConflict: (setuptools 0.6c11 (/home/oomsys/demobrun  
/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg),    
Requirement.parse('setuptools>=0.7'))
Run Code Online (Sandbox Code Playgroud)

python setuptools buildout

33
推荐指数
2
解决办法
3万
查看次数

Python包装状态:Buildout,Distribute,Distutils,EasyInstall等

上次我不得不担心安装Python软件包是两年前与Enthought,NumPyMayaVi2合作的.这种经历给了我挥之不去的噩梦,这些噩梦与在非标准位置($HOME/usr/local2.6/例如)中安装和更新Python包的古怪行为有关.

无论如何,我的工作让我回到安装各种Python包.该Cheeseshop上教程中提到的distutils和EasyInstall除了扩建!我很难找到一个比较这些(和其他)PyPi安装工具的地方,所以我希望进入StackOverflow社区: 每个安装工具的优点和缺点是什么?

python distutils buildout easy-install distribute

24
推荐指数
3
解决办法
3092
查看次数

当pypi关闭时,如何使用easy_install和buildout?

我正在使用buildout自动下载和设置我的Plone安装的许多依赖项.buildout或多或少使用easy_install下载并安装一堆Python egg.这通常有效,但如果无法下载任何依赖项,或者我希望buildout找到不适合pypi的内部包,则它不起作用.如何设置我自己的本地版本的pypi来自动镜像我需要的软件包?对于使用pypi作为元数据但不使用代码的软件包,它仍然依赖于第三方服务器吗?

python plone buildout easy-install

14
推荐指数
3
解决办法
7233
查看次数

Buildout和Virtualenv

我正在搞乱buildout和virtualenv的组合来在python中设置一个孤立的开发环境,允许进行可重现的构建.

有一个buildout的配方,让你将virtualenv集成到buildout中:

 tl.buildout_virtual_python
Run Code Online (Sandbox Code Playgroud)

有了这个,我的buildout.cfg看起来像这样:

[buildout]
develop = .
parts = script
        virtualpython


[virtualpython]
recipe = tl.buildout_virtual_python
headers = true
executable-name = vp
site-packages = false

[script]
recipe = zc.recipe.egg:scripts
eggs = foo
python = virtualpython
Run Code Online (Sandbox Code Playgroud)

这将在./bin/中部署两个可执行文件:

vp
script
Run Code Online (Sandbox Code Playgroud)

当我执行vp时,我按预期得到了一个交互式,孤立的python对话框(无法从系统加载任何包).我现在所期待的是,如果我跑了

./bin/script 
Run Code Online (Sandbox Code Playgroud)

使用了孤立的python解释器.但它没有,它不是孤立的"vp"(意思是我可以从系统级别导入库).但是我可以运行:

./bin/vp ./bin/script
Run Code Online (Sandbox Code Playgroud)

哪个会在我希望的孤立环境中运行脚本.但是必须有一种方法来指定这样做而不用链接命令,否则buildout只能解决我希望的一半问题:)

谢谢你的帮助!帕特里克

python buildout virtualenv

14
推荐指数
2
解决办法
6342
查看次数

在python中部署时组合javascript文件

我正在尝试减少我们网站中包含的脚本数量,并使用buildout来处理部署.有没有人成功实现了一个使用buildout组合和压缩脚本的方法?

javascript python deployment buildout jscompress

13
推荐指数
2
解决办法
5659
查看次数

学习扩建的更好资源

我试图通过本教程掌握更多的构建,但与教程不同,它似乎是演示幻灯片的剪切和粘贴.我没有清楚地知道buildout的目的是什么,以及它如何通过scons和setuptools定位自己.您是否愿意提供有关这些问题的详细信息?

谢谢!

python resources buildout

13
推荐指数
1
解决办法
1596
查看次数

使用RPM分发python包以及模块依赖项

我有几个python应用程序包含应该打包并部署为RPM的脚本/模块.

更棘手的是每个应用程序应该与所有python模块依赖项一起分发,并且这些应该优先于系统安装的任何应用程序使用.

其中一些RPM的目标主机具有有限的网络访问权限,因此RPM应包含运行应用程序所需的所有内容,而不是在部署时下载任何内容.

我已经看过包装和分发virtualenv,但重新定位virtualenv似乎并没有得到很好的支持.

我查看了zc.buildout,但发现文档缺乏.我可以看到如何在开发期间下载依赖项,而不是如何将它们作为更大的应用程序的一部分进行分发.不同的应用程序可能需要同一模块的不同版本,因此不应在系统范围内安装这些版本.

另一个痛点是应用程序中的任何python脚本都需要修改为在开发期间和部署后使用不同的sys.path,我无法看到明显的方法.

有关如何最好地实现这一点的建议吗?从开发人员的角度来看,工作流程的理想总结如下所示:

  1. 下载应用程序源
  2. 运行脚本以获取特定模块依赖项(如果不存在)(可能使用pip)
  3. 运行脚本来构建python应用程序,并将它和所有下载的依赖项打包到RPM中

然后,最终的RPM应该可以在没有网络访问权限的主机上安装和运行,并且只安装了python解释器.

python packaging rpm buildout virtualenv

12
推荐指数
1
解决办法
5430
查看次数