我已经使用python多年了,但我对python web编程几乎没有经验.我想创建一个非常简单的Web服务,它从现有的python脚本中公开一些功能,以便在我公司内部使用.它可能会在csv中返回结果.什么是最快捷的方式?如果它影响了您的建议,我可能会在此之前添加更多功能.
有人可以解释egg-info目录如何与各自的模块绑定?例如,我有以下内容:
/usr/local/lib/python2.5/site-packages/quodlibet/
/usr/local/lib/python2.5/site-packages/quodlibet-2.0.egg-info/
Run Code Online (Sandbox Code Playgroud)
我假设egg-info目录是使相应的模块对setuptools(easy_install)可见,对吧?如果是这样,setuptools如何将egg-info目录绑定到模块目录?
假设我在正确的轨道上,例如着想......如果我想让矿setuptools的可见现有的包,我可能只是符号链接模块目录和卵子信息目录的位点包目录?我本来只是尝试这样做我自己,但我不知道如何测试,如果包是setuptools的可见.如果你还可以告诉我如何测试这个奖励积分:)
我想了解这一切的主要原因是因为我想符号链接我的一些模块到站点包,这样我可以对其进行更改,并有改变使用它们,而无需重新安装脚本可见每次更换后,来自PyPI的鸡蛋.
我已经使用ConfigParser很长一段时间来进行简单的配置.长期困扰我的一件事是DEFAULT部分.我不确定什么是合适的用途.我已经阅读了文档,但我真的希望看到一些巧妙的使用示例以及它如何影响文件中的其他部分(这些内容真正说明了可能的事情).
我需要能够得到一个字符串:
'''foo, bar, "one, two", three four'''
Run Code Online (Sandbox Code Playgroud)
成:
['foo', 'bar', 'one, two', 'three four']
Run Code Online (Sandbox Code Playgroud)
我有一种感觉(来自#python的提示)该解决方案将涉及shlex模块.
我最近在使用python进行开发时一直在使用virtualenv.我喜欢使用--no-site-packages选项的隔离开发环境的想法,但在开发PyGTK应用程序时这样做可能有点棘手.默认情况下,PyGTK模块安装在Ubuntu上,我想让virtualenv(使用--no-site-packages)知道位于系统其他位置的特定模块.
最好的方法是什么?或者我应该吮吸它并删除--no-site-packages选项?
我最近看到了很多关于互联网的设置工具.最近,我阅读了James Bennett的On包装文章,了解为什么没有人应该使用setuptools.从我在Freenode的#python时代开始,我知道那里有一些人绝对厌恶它.我会把自己算在他们中间,但我确实使用它.
我已经使用setuptools进行足够的项目来了解它的不足之处,我更喜欢更好的东西.我并不特别喜欢鸡蛋格式以及它是如何部署的.由于所有setuptools的问题,我还没有找到更好的选择.
我对像pip这样的工具的理解是,它意味着是一个easy_install替代品(不是setuptools).实际上,pip使用了一些setuptools组件,对吧?
我的大多数软件包都使用了setuptools-aware的setup.py,它声明了所有依赖项.当他们准备好了,我将构建一个sdist,bdist和bdist_egg,并将它们上传到pypi.
如果我想切换到使用pip,我需要做些什么样的更改才能摆脱easy_install依赖?声明的依赖项在哪里?我猜我需要摆脱使用egg格式,并提供源代码分发.如果是这样,我如何生成egg-info目录?或者我甚至需要?
这将如何改变我对virtualenv的使用?virtualenv不使用easy_install来管理环境吗?
这会如何改变我对"开发"命令提供的setuptools的使用?我不应该使用它吗?有什么选择?
我基本上试图了解我的开发工作流程的样子.
在任何人建议之前,我不是在寻找依赖于操作系统的解决方案.我主要关注的是debian linux,但deb包不是一个选项,因为Ian Bicking 在这里概述了这个原因.
我看过sqlalchemy-migrate,但它似乎很多工作,但我找不到任何有用的例子.
有人愿意分享他们如何处理这个问题吗?
我经常得到的印象是,我的数学知识(因为它与软件开发领域有关)存在一些差距.我是一个受过良好教育的人.我有大学学位.我一直很喜欢学习,这就是为什么我想尝试填补这些空白.
我的工作是在金融行业,我觉得如果我能更好地掌握进入它的数学/逻辑或概念,我们所做的许多大规模数字运算任务都可以提高效率.可以利用它作为捷径.
你有什么建议吗?你发现的书有助于此吗?视频讲座?
编辑:我应该注意到我的学位是计算机科学,所以我熟悉一些相关的数学领域.我只是不确定如何最好地了解它们或改进我已经知道的东西:)
在使用Vim(在家和工作中)时,我经常发现自己反复做类似的事情.例如,我可能会将一堆CSV文本转换为一系列SQL插入.我多年来一直在使用Vim,但直到最近我才开始认真思考如何在使用它的同时提高我的工作效率.
我的问题是..有一种很好的方法(或正确的方法)来存储常用的命令或命令序列吗?如何执行它们的最佳方式是什么?能够在实时会话中使用相同的脚本以及在某个文件的命令行上使用相同的脚本会很好.
我希望我可以将它们存储在.vim文件中,以便我可以将它们交给同事(他们不熟悉vim)供他们使用.
我写了大量的python脚本,我发现自己重复使用了我为其他项目编写的代码.我的解决方案是确保将代码分成逻辑模块/包(这是给定的).然后我让它们设置为setuptools并在PyPI上发布它们.这允许我的其他脚本总是拥有最新的代码,我得到一种温暖的模糊感觉因为我不重复自己,而且我的开发通常不那么复杂.我也感觉很好,可能有人在那里发现我的代码方便他们正在处理的东西,但它主要是出于自私的原因:)
对于所有的pythonistas,你如何处理这个?你使用PyPI或setuptools(easy_install)吗?或者是其他东西?
python ×8
setuptools ×2
automation ×1
code-reuse ×1
egg ×1
escaping ×1
math ×1
packaging ×1
parsing ×1
pip ×1
pygtk ×1
quotes ×1
scripting ×1
split ×1
sqlalchemy ×1
ubuntu ×1
vim ×1
virtualenv ×1
web-services ×1