Articles of python

如何在docker文件中设置环境variables?

我的dockerfile的CMD是这样的: ["python", "myproject/start_slide_server.py"] 然而为了这个工作,我需要设置PYTHONPATH为/app ,这是我的项目的父目录 如果我启动docker进程并用bash覆盖CMD ,我可以运行以下命令 root@42e8998a8ff7:/app# export PYTHONPATH=. root@42e8998a8ff7:/app# python myproject/start_slide_server.py * Running on http://0.0.0.0:8090/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 236-035-556 它按预期工作 现在我添加该行 RUN export PYTHONPATH=/app 之前 CMD ["python" , "myproject/start_slide_server.py"] 它只是失败 Traceback (most recent call last): File "/app/myproject/start_slide_server.py", line 23, in <module> […]

带有Apache和mod_wsgi的Django:除非设置Debug = True,否则不需要系统日志

我使用Apache Web服务器和mod_wsgi将请求转移到Django。 $ apache2ctl -v Server version: Apache/2.4.10 (Raspbian) Server built: Sep 17 2016 16:40:43 我正在使用这个Apache网站声明Django的应用程序: ServerName example.com DocumentRoot /srv/webapps/myapp <Directory /srv/wepapps/myapp/mysite> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess example.com python-path=/srv/webapps/myapp:/usr/local/lib/python3.4/dist-packages:/usr/lib/python3/dist-packages WSGIProcessGroup example.com WSGIScriptAlias / /srv/webapps/myapp/mysite/wsgi.py LogLevel warn ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined 它工作的很好,但是如果引发一个exception,它会显示一个错误500,但是我的example.com_error.log没有任何内容。 如果我修改我的设置来设置Debug = True ,我可以在我的Web浏览器中看到错误,但也在我的/ var / log / apache2文件中。 但我真的不想在我的产品环境中保持这个设置。 […]

尝试使用Python 3.6在Windows Apache服务器上运行Flask

我听说为了在Windows Apache服务器上运行Flask,你必须安装mod_wsgi。 然而,安装mod_wsgi是我尝试过的最困难的安装,因为它令人困惑,令人沮丧,而且一点也不清楚。 我听说你必须有Python,Apache和mod_wsgi都是64位或32位。 我最近安装了64位的Anaconda Python 3.6.1,所以我想最好是安装一个新的64位版本的Apache。 所以我安装了Apache2自带的bitnami。 我尝试通过cd到Anaconda / Scripts目录并运行pip install mod_wsgi来通过pip来pip install mod_wsgi 。 我得到了消息'RuntimeError:没有Apache安装可以find。 将MOD_WSGI_APACHE_ROOTDIR环境设置为其位置。 我研究了如何做到这一点,并将其设置为bitnami apache2位置。 我试着再次安装,并得到消息:'错误:Microsoft Visual C ++ 14.0是必需的。 使用“Microsoft Visual C ++构build工具”获取它: http : //landinghub.visualstudio.com/visual-cpp-build-tools ' 所以我去了这个页面,下载了构build并安装它。 (4GB)。 然后我又跑了一下,得到这个消息:'c:\ users \ christon \ appdata \ local \ temp \ pip-build-gdd4udc8 \ mod-wsgi \ src \ server \ wsgi_apache.h(39):fatal […]

通过AWS服务器上的代理的HTTP请求将失败,并显示407

我试图通过一个新的aws服务器的代理使用请求库发送一个http请求。 我已经允许安全设置中的所有stream量入站/出站。 urllib3.exceptions.ProxyError: ('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',)) 这个完全相同的信息可以在其他地方使用,比如我的个人笔记本电脑,而不是在这个新的AWS上。 我读过谷歌search结果的页面和页面,找不到任何暗示我的问题是什么。 我已经尝试设置auth =(user,pass),只需使用username:pass @ ip:port,以及设置http(s)_proxy环境variables。 任何想法,我可能会错过这里?

select等待什么?

我有一个运行在RHEL 6上的python 2.7应用程序偶尔会挂起。 如果我把应用程序拉直,我会重复这样的: [pid 180442] select(0, NULL, NULL, NULL, {10, 0}) = 0 (Timeout) [pid 180442] select(0, NULL, NULL, NULL, {10, 0}) = 0 (Timeout) 这个select在等什么? 有没有在那里隐藏的文件句柄?

如何提高mongo更新效率

我正在尝试使用DataFrame更新mongo中的一个集合,例如 df_dict = df[['id', 'name']].to_dict(orient='records') 我得到了下面的字典,例如 [{'name': 'vendor1', 'id': '1'}, {'name': 'vendor2', 'id': '2'}, {'name': 'vendor3', 'id': '3'}, {'name': 'vendor4', 'id': '4'}, {'name': 'vendor5', 'id': '5'}, {'name': 'vendor6', 'id': '6'}, …] df_dict包含大约390k字节,这意味着我需要更新集合中的390k文档。 我试图做的是根据多less线程/进程被分配进行更新,将390k字节分成块/批次。 对于每个批次,我使用以下函数来testing更新, def update_database(update_dicts, table, database): for row_dict in update_dicts: database[table].update_one({'id': row_dict['id']}, {'$set': 'name': row_dict['name']}) def bulk_update_database(database, table, id_field, batch_documents, batch_size): bulk = […]

如何在Bluehost上用python 3.4设置Django 1.11

我是一个Django的新手,但已经完成了长度的教程,并得到了重点,至less在本地,我可以做一些很酷的事情。 我现在想部署这些东西…问题是,我不是完全知道networking如何工作或如何部署东西的专家。 所以我得到了一个bluehost.com帐户,并做了如何在bluehost上安装django的谷歌。 这是有点老,过时了。 但我跟着它(安装python 3.4而不是python2.7) 我觉得python 3.4,pip和django都安装正确吗? (我可以运行python3 -V等) 然后我得到一些巫术 mkdir ~/public_html/myproject cd ~/public_html/myproject cat > myproject.fcgi << EOF #!$HOME/python27/bin/python27 import sys, os project_name = "myproject" # Add a custom Python path. sys.path.insert(0, os.path.expanduser("~") + "/python27") sys.path.insert(13, os.getcwd() + "/" + project_name) os.environ['DJANGO_SETTINGS_MODULE'] = project_name + '.settings' from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false") EOF […]

在反向查找区域自动生成PTRlogging

我正在努力在我们的环境中设置DNS。 在testing平台中,我在正向和反向查找区文件中创build了一些Alogging和PTRlogging。 所以,我想知道不是在两个地方手动添加logging,我们能够基于正向查找区域文件中提到的Alogging以编程方式生成PTRlogging。 有没有人有这方面的投入? FWIW,我从http://www.mkrdns.org/遇到了这个脚本mkrdns.pl ,但是脚本正在抛出错误信息。 我试图四处寻找,但徒劳无功。 似乎脚本并没有积极的发展,因为上一个稳定版本是在2002年发布的。 ./mkrdns-3_3.pl -d /etc/named.conf <snip> (debug) Network "arpa.ip6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1", View "default", File "/var/named/dynamic/named.loopback", Type "master". (fatal) The zone file "/var/named/dynamic/named.loopback" is being used by two zones! Error in config file! (default:1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa and default:1.0.0.127.in-addr.arpa …)

在Ubuntu上使用Apache连接重设错误104

我使用mod_wsgi和Apache2build立了一个新的Ubuntu 16.04服务器来服务我的Python应用程序。 它正在工作,但突然显示ConnectionReset错误104.我的应用程序连接到两个数据库。 login屏幕工作正常,但当我成功login它加载所有的数据也工作正常,但是当应用程序应该返回所有的数据到客户端机器我得到的错误。 我想我必须调整最大的线程和进程。 由于login屏幕非常简单,所以不会导致任何错误。 然而,/ etc / apache2 /中的apache2.conf只有标准的行,我不知道在哪里可以调整它。 谢谢。

Django查询永远运行,不超时

我有一些Django的应用程序,是我的MySQL服务器正在查询有正在运行的查询,不超时和阻塞我的MySQL服务器 只是需要帮助,如何解决这个问题的正确方法不知道这是如何devisedjango,或者我需要添加超时设置,我想django应该这样做默认情况下,不知道,因为使零感觉没有超时 这里是不超时或closures的查询 MySQL on localhost (5.7.19) load 5.27 4.81 4.69 4/2383 41852 up 0+00:18:41 [19:13:16] Queries: 8.6k qps: 8 Slow: 0.0 Se/In/Up/De(%): 61/01/02/00 Sorts: 0 qps now: 5 Slow qps: 0.0 Threads: 99 ( 99/ 1) 44/00/00/00 Key Efficiency: 98.9% Bps in/out: 839.8/22.3k Now in/out: 566.3/22.5k Id User Host/IP DB Time Cmd State Query […]