有没有办法告诉git cherry-pick
使用renormalize
合并策略?我不确定该-X
选项是否有效.
我有一堆提交似乎假设一种类型的行结束,我正在尝试将它们应用于假设另一种类型的分支.没有好时光......
如何在PythonAnywhere上启动并运行基本的web2py服务器 ?
我想为nginx虚拟主机编写一个配置文件,如下所示:
server {
listen 80;
server_name www.my-domain-name.com;
access_log /home/me/sites/$server_name/logs/access.log;
error_log /home/me/sites/$server_name/logs/error.log;
location /static {
alias /home/me/sites/$server_name/static;
}
location / {
proxy_pass http://localhost:8000;
}
}
Run Code Online (Sandbox Code Playgroud)
使用$server_name
似乎工作找到了location /static
,但它似乎并没有工作access_log
和error_log
- 我做错了什么?或者这是不可能的?我可以用其他方式吗?
[更新] - 这是尝试重新加载nginx时的错误消息:
nginx: [emerg] open() "/home/me/sites/$server_name/logs/error.log" failed (2: No such file or directory)
我正在尝试使用PythonAnywhere.com的web.py平台制作一个简单的Web脚本.我的目的是创建一个simples Form,它可以获取文本框的数据,并且可以像使用PHP一样使用它们.这是我的主要脚本:
import web
from web import form
import MySQLdb
render = web.template.render('/home/user/templates/')
conn = MySQLdb.connect("mysql.server","user","*********","userdb")
curs = conn.cursor()
curs.execute('''create table if not exists Dados (
id int not null auto_increment primary key,
nome varchar(200),
item1 varchar(50),
item2 varchar(50),
item3 varchar(50),
item4 varchar(50),
item5 varchar(50));
''')
urls = (
'/', 'index'
)
formula = form.Form(
form.Textbox('Nome', id='nome'),
form.Textbox('Item 1', id='it1'),
form.Textbox('Item 2', id='it2'),
form.Textbox('Item 3', id='it3'),
form.Textbox('Item 4', id='it4'),
form.Textbox('Item 5', id='it5'),
)
class index:
def GET(self):
form = formula() …
Run Code Online (Sandbox Code Playgroud) 我正在使用www.pythonanywhere.com来部署我的Django项目.pythonanywhere的数据库设置如下:
Connecting:
Database host address: mysql.server
Username: Username (just as an example)
Your databases:
Start a console on: Username$DBName (just as an example)
...
Run Code Online (Sandbox Code Playgroud)
使用"manage.py migrate"命令设置数据库时,出现错误消息:
django.db.utils.OperationalError: (1044 "Access denied for user 'Username'@'%' to database 'DBName'")
Run Code Online (Sandbox Code Playgroud)
文件settings.py
中的DATABASES设置如下.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DBName',
'USER': 'Username',
'PASSWORD': 'password',
'HOST': 'mysql.server',
'PORT': '3306',
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令在控制台中运行mysql:
$ mysql -u Username -h mysql.server -p
Run Code Online (Sandbox Code Playgroud)
当我输入以下命令时:
mysql> use mysql;
Run Code Online (Sandbox Code Playgroud)
我收到了错误消息:
ERROR 1044 (42000): Access denied for user …
Run Code Online (Sandbox Code Playgroud) 您好我正在使用Pythonanywhere和我打电话
from datetime import *
print date.today().day
Run Code Online (Sandbox Code Playgroud)
它打印的时间与我住的那天不同(德克萨斯州奥斯汀).我认为这是因为存在时区差异.我如何告诉我居住的日期对象,以便获得正确的时区.提前致谢
我有一个烧瓶服务器并在pythonanywhere上运行,我正在尝试编写一个python脚本,我可以在本地运行,这将触发一个特定的响应 - 让我们说服务器时间,为了讨论的缘故.有关如何编写此过程的Flask服务器端的文档和吨文档,但非如此/很少有关于如何编写可触发Flask应用程序运行的内容的文档.我试过以简单的curl命令的形式发送XML,例如
curl -X POST -d '<From>Jack</From><Body>Hello, it worked!</Body>' URL
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用(有关推荐标题的错误).
有人能告诉我构建一些可以发送到监听烧瓶服务器的XML的正确方法.
谢谢,
插口
我正在测试一个写入日志文件的函数(具体是它写入日志文件并不重要,它可能正在做任何事情,它只是引起这个问题的原因)
像这样的东西:
def do_stuff():
with open('/tmp/mylogs.txt', 'a') as f:
f.write(str(time.time()))
f.write(' stuff done! \n')
return 42
Run Code Online (Sandbox Code Playgroud)
我可以测试它有点像这样:
def test_doing_stuff(watch_logs):
assert do_stuff() == 42
assert do_stuff() == 43
Run Code Online (Sandbox Code Playgroud)
出于调试目的,当测试失败时,我希望能够打印出新的日志记录 - 我可以使夹具有点像这样:
@pytest.fixture()
def watch_logs(request):
with open('/tmp/mylogs.txt') as f:
log_before = f.read()
def get_new_logs():
with open('/tmp/mylogs.txt') as f:
log_after = f.read()
return log_after.replace(log_before, '')
return get_new_logs
Run Code Online (Sandbox Code Playgroud)
太棒了 - 现在我可以在测试中的任何一点检查日志内容:
def test_doing_stuff(watch_logs):
assert do_stuff() == 42
print(watch_logs())
assert do_stuff() == 43
print(watch_logs())
Run Code Online (Sandbox Code Playgroud)
嗯 - 啊,但第二次打印不起作用,它是在测试失败后.
如果我的测试夹具总是在测试结束时打印出日志怎么办?然后pytest的stdout捕获会在它失败时显示给我,但不会在它通过时显示给我!
@pytest.fixture()
def watch_logs(request):
with open('/tmp/mylogs.txt') as f: …
Run Code Online (Sandbox Code Playgroud) 尝试为我的应用创建一个注册页面。我正在使用来自pythonanywhere.com 的Flask 框架和 MySQL 数据库。
@app.route('/register/', methods=["GET","POST"])
def register_page():
try:
form = RegistrationForm(request.form)
if request.method == "POST" and form.validate():
email = form.email.data
password = sha256_crypt.encrypt((str(form.password.data)))
c, conn = connection()
x = c.execute("SELECT * FROM users WHERE email = (%s)",
(email))
if int(x) > 0:
flash("That email adress is already in use.")
return render_template('register.html', form=form)
else:
c.execute("INSERT INTO users (email, password) VALUES (%s, %s)",
(thwart(email),thwart(password)))
conn.commit()
flash("Thanks for registering!")
c.close()
conn.close()
gc.collect()
session['logged_in'] = True
session['email'] = email
return …
Run Code Online (Sandbox Code Playgroud) 一个轮子是通过PIP安装分发预编译包的新途径。
pypi上的lxml 条目具有可用于“manylinux”的轮子。我正在运行 ubuntu。
但是,当我尝试 pip install lxml 时,它似乎仍然尝试编译。任何想法为什么?
mktmpenv
pip install lxml==3.6.4
Collecting lxml==3.6.4
Using cached lxml-3.6.4.tar.gz
Building wheels for collected packages: lxml
Running setup.py bdist_wheel for lxml
Complete output from command /home/harry/.virtualenvs/tmp-940224e01c89b3f0/bin/python3 -c "import setuptools;__file__='/tmp/pip-build-gxw05tyo/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp78u4a871pip-wheel-:
Building lxml version ....
Building lxml version 3.6.4.
Building without Cython.
Using build configuration of libxslt 1.1.29
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
[...etc]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
python ×7
flask ×2
access-log ×1
curl ×1
django ×1
forms ×1
git ×1
line-endings ×1
linux ×1
lxml ×1
mysql ×1
nginx ×1
pip ×1
post ×1
pytest ×1
python-2.7 ×1
python-wheel ×1
ubuntu ×1
unit-testing ×1
web-services ×1
web.py ×1
web2py ×1
webserver ×1
xml ×1