我正在尝试理解与在系统上"安装"PHP库相关的选项和术语(Linux/OSX)
以下是我要介绍的一些具体要点:
谢谢 - 抱歉多部分......
我需要将数据库行对象列表加载到内存中,然后通过其唯一ID获取其中一行.是否有一种干净,pythonic方式通过属性值从列表中查找单个对象?或者我只是循环和比较?
我有一些处理异常的代码,我想做一些特定的事情,只要它是一个特定的异常,并且只在调试模式下.例如:
try:
stuff()
except Exception as e:
if _debug and e is KeyboardInterrupt:
sys.exit()
logging.exception("Normal handling")
Run Code Online (Sandbox Code Playgroud)
因此,我不想只添加一个:
except KeyboardInterrupt:
sys.exit()
Run Code Online (Sandbox Code Playgroud)
因为我试图保持这个调试代码的差异最小化
我希望能够区分现有的查询字符串参数设置为null和缺少参数.所以问题的部分是:
谢谢
我有两个包含许多相同项目的列表,包括重复项目.我想检查第一个列表中的哪些项目不在第二个列表中.例如,我可能有一个这样的列表:
l1 = ['a', 'b', 'c', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
和一个这样的列表:
l2 = ['a', 'b', 'c', 'b']
Run Code Online (Sandbox Code Playgroud)
比较这两个列表,我想返回第三个列表,如下所示:
l3 = ['c']
Run Code Online (Sandbox Code Playgroud)
我目前正在使用一些我之前做过的可怕代码,我相当肯定甚至没有正确显示如下.
def list_difference(l1,l2):
for i in range(0, len(l1)):
for j in range(0, len(l2)):
if l1[i] == l1[j]:
l1[i] = 'damn'
l2[j] = 'damn'
l3 = []
for item in l1:
if item!='damn':
l3.append(item)
return l3
Run Code Online (Sandbox Code Playgroud)
我怎样才能更好地完成这项任务?
尝试首次安装Tornado(在EC2 Linux实例上).我做到了
pip install tornado
Run Code Online (Sandbox Code Playgroud)
然后尝试运行hello world示例:http://www.tornadoweb.org/en/stable/#hello-world
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(80)
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
然后我尝试:
python hello.py
Run Code Online (Sandbox Code Playgroud)
但得到:
回溯(最近一次调用最后一次):文件"testing/tornado.py",第1行,
导入tornado.ioloop文件"/opt/pdf_engine/testing/tornado.py",第1行,
导入tornado.ioloop ImportError:否名为ioloop的模块
尝试使用Boto连接到我们的S3存储桶时,我们收到了证书错误.奇怪的是,这只会在访问一个名为WHILE的句点时使用Heroku运行时显示出来.
from boto.s3.connection import S3Connection
conn = S3Connection({our_s3_key}, {our_s3_secret})
bucket = conn.get_bucket('ourcompany.images')
Run Code Online (Sandbox Code Playgroud)
引发以下错误:
CertificateError:主机名'ourcompany.images.s3.amazonaws.com'与'*.s3.amazonaws.com','s3.amazonaws.com'不匹配
但是相同的代码在本地运行时工作正常,如果存储桶名称是'ourcompany-images'而不是'ourcompany.images',它也适用于Heroku
我正在玩Twitter API并注意到一些有趣的东西 - 对于更新,它们需要POST方法,但期望查询字符串中的参数.(在他们的开发者控制台的状态/更新调用例如见这里.)
显然这在技术上是可行的,但为什么有人这样做呢?POST参数是否属于正文?
我需要在安装了Python 2.6的Mac Snow Leopard上运行Python 2.7.根据这个答案,从Python.org运行Python 2.7 mpkg安装程序应该让我在那里.
我需要这样做的原因是我正在尝试为Python 2.7运行时运行Google App Engine SDK.
安装Python 2.7后,我仍然在GAE服务器日志中收到以下警告:
警告:您使用的Python运行时(2.6)早于生产运行时环境(2.7).
还有什么办法让GAE SDK能够识别新的Python版本?
编辑2:
运行:
$ sudo find / -name python2.7
Run Code Online (Sandbox Code Playgroud)
我明白了:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
根据答案,我进入了GoogleAppLauncher - > Preferences并将Python路径设置为每个,并且每次我得到完全相同的错误.
使用以下标志运行dev_appserver: - admin_console_server = --port = 8081 Python命令:/Library/Frameworks/Python.framework/Versions/2.7 2011-11-14 16:12:24.726 GoogleAppEngineLauncher [57590:203]***NSTask:路径'/Library/Frameworks/Python.framework/Versions/2.7的任务创建失败:22,"无效参数".终止临时过程.
另一个奇怪的事情是,无论我插入哪一个,它总是试图解决相同的路径; 它总是回归/Library/Frameworks/Python.framework/Versions/2.7
编辑3:
好的,在重复进入prefs字段的路径后,我终于把它清除了,不知何故它现在指向正确的地方:
Running dev_appserver with the following flags:
--admin_console_server= --port=8081
Python command: /usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud) 要为Heroku应用程序设置配置变量,请执行以下操作:
$ heroku config:set GITHUB_USERNAME=joesmith
Run Code Online (Sandbox Code Playgroud)
如何使用文件内容设置config var?
python ×5
heroku ×2
php ×2
amazon-s3 ×1
boto ×1
exception ×1
http ×1
http-post ×1
installation ×1
list ×1
macos ×1
pear ×1
python-2.6 ×1
python-2.7 ×1
query-string ×1
request ×1
rest ×1
tornado ×1
twitter ×1