Articles of python

如何阻止芹菜工人?

我通过redis运行芹菜。 我以这样的方式开始我的工作: celery multi start worker1 -A mypackage.tasks.tasks celery multi v3.1.18 (Cipater) > Starting nodes… > [email protected]: OK 我这样杀了它: celery multi kill worker1 celery multi v3.1.18 (Cipater) > [email protected]: DOWN 但工人实际上还在跑步。 我不能再次启动工人: celery multi start worker1 -A mypackage.tasks.tasks celery multi v3.1.18 (Cipater) > Starting nodes… ERROR: Pidfile (worker1.pid) already exists. Seems we're already running? (pid: […]

(可能安装和)使用特定版本的Python

对于科学应用程序,我需要使用特定版本的Python软件包numpy , scipy和brian2 。 我在我的笔记本电脑上安装了正确的版本,并运行他们的testing套件如下: >>> import numpy as np >>> import scipy >>> import brian2 >>> np.test() >>> scipy.test() >>> brian2.test() 所有的testing都通过了。 现在我想在我的实验室的计算集群上做同样的事情。 我再次安装了所有正确的版本。 但是,在这个新的环境中,只有numpy和brian2testing通过。 对于scipy ,单个testing失败: ====================================================================== FAIL: test_decomp_update.TestQRdelete_f.test_delete_last_p_col ———————————————————————- Traceback (most recent call last): File "/usr/local/anaconda/lib/python2.7/site-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/despo/dbliss/lib/python2.7/site-packages/scipy/linalg/tests/test_decomp_update.py", line 328, in test_delete_last_p_col assert_unitary(q1) File "/home/despo/dbliss/lib/python2.7/site-packages/scipy/linalg/tests/test_decomp_update.py", line 21, […]

Gunicorn + Nginx(反向代理)安装时,使用postgres在Django应用程序中inputinettypes的dbinput语法无效

我有一个Django应用程序与postgres后端,我configurationgunicorn后面的nginx作为反向代理工作。 我的机器运行Ubuntu 14.04。 一切似乎都奏效了,除非我尝试login到我的应用程序时遇到了一个令人讨厌的错误: DatabaseError在/ login / inputinettypes的input语法无效:“”LINE 1:… 00101 Firefox / 41.0','2015-12-12 09:39:55.590036 + 00:00','') exception位置:/home/mhb11/.virtualenvs/redditpk/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py执行中,第54行 请注意,如果我单独使用Gunicorn,这个错误永远不会出现! 你能帮我解决这个问题吗? 我有几个念头: 1) inet数据types接受IPv4和IPv6主机和networking(但不包括域名)。 也许我应该改变我在/ etc / nginx / sites-available / myproject中使用的域名? 但我试过了; 我的网站根本无法加载(迄今为止它只在我尝试login后才失败)。 / etc / nginx / sites-available / myproject中的代码粘贴在下面。 2)不同的理论是这样的: 当我尝试login时,我的代码尝试添加一行到空的远程IP的日志表。 当我使用反向代理时,代码可能不知道远程IP,因为它被代理的IP所遮蔽。 由于它是空的,有可能代码试图忽略代理的IP,但没有find更好的。 因此,它应该使用X-Forwarded-For头 。 如果没有合理的IPlogging,程序应该简单地logging“NULL”作为IP。 为此,我在/ etc / nginx / sites-available / myproject中join了proxy_params […]

PIP / BOTO问题 – ImportError:没有名为boto3的模块

我想要得到boto3在python3脚本中的工作。 我可以从cli执行aws命令。 更新pip之后,除非使用绝对path: /usr/local/bin/pip ,否则不会使用sudo权限运行。 没有sudo的权利,它的作品。 我不知道为什么它不能在sudo下运行,因为/usr/local/bin是在PATH中。 我应该在sudo下运行pip吗? 我安装了boto3,但仍然得到ImportError: No module named 'boto3' 。 这是当我执行一个脚本,运行python3。 但是似乎为python2安装了boto3。 输出: $ sudo /usr/local/bin/pip install –upgrade boto3 Requirement already up-to-date: boto3 in /usr/local/lib/python2.7/site-packages 我如何得到boto3使用python3?

openldap TLS错误-8179:对方的证书颁发者不被识别

tl; dr这个错误是否意味着我需要find我公司的ldap服务器的公共证书并安装它,或者我公司的ldap服务器需要安装我的公共证书? 如果前者,我如何获得证书并安装它? 我试图将应用程序与我公司的LDAP集成在一起。 我对LDAP和SSL很陌生,所以我提前道歉。 我可以在非ssl上成功完成这项工作,但是当我试图通过SSL来做这件事时,我遇到了这个问题。 我正在使用openldap 2.4版本的Rhel 6.4。 使用ldapsearch ldapsearch -v -h myhost.com -b 'DC=myhost,DC=com, -D 'CN=me,DC=myhost,DC=com' -x -W -Z 或Python import ldap con = ldap.initialize('ldaps://myhost.com') dn = 'CN=me,DC=myhost,DC=com' pw = 'password' con.simple_bind_s(dn, pw) 结果是: ldap_start_tls: Connect error (-11) additional info: TLS error -8179:Peer's Certificate issuer is not recognized. 这是否意味着我需要find我公司的ldap服务器的公共证书并将其安装在某处,例如/ etc / openldap / […]

Ansible错误with_together和用户pipe理

有一些烦人的问题,我无法弄清楚。 这是我的代码。 如果我完全注释掉组和variables,一切正常。 但是,这是吐出下面的错误。 它基本上告诉我那个组不存在。 在这个例子中说msg:“Group”“all”不存在。 我不知道我需要做什么来解决这个问题。 – name: Add new group if it doesn't exist already group: name: "{{ group }}" when: group is defined – name: Add multiple users user: name: "{{ item.0 }}" comment: "{{item.1 }}" uid: "{{ item.2 }}" group: "{{ group }}" groups: "{{ groups }}" append: yes with_together: – […]

Nagios NRPE可以在Windows主机上调用Python脚本,这需要一个UNCnetworking共享连接?

我有一个使用NRPE监视Windows服务器的Nagios主机。 其中一项任务是使用NRPE远程连接到Windows Server,并运行Python脚本。 python脚本只是检查一些备份的状态。 Python脚本使用一个名为“win_unc”的模块来连接networking共享。 当我直接在Windows Server上本地运行脚本时,它运行良好。 当远程调用NRPE脚本时,我们得到以下错误: <class 'win_unc.errors.ShellCommandError'> () The command `NET USE "\\XXXX\backups" "PasswordRemoved" /USER:"UserRemoved" /PERSISTENT:NO` exited with error code 2. 问题是因为调用脚本的Nagios框无法运行“NET USE …”命令?

Jupyter笔记本SSL:WRONG_VERSION_NUMBER错误只能通过Apache

我试图在我的Apache 2.4.7服务器上设置一个安全的Jupyter笔记本。 如果有更好,更简单或者更安全的方式来做,那会很棒。 我知道AuthType Basic并没有真正增加太多,我只是在玩Apache,为了完整性,我在这里包含了它。 当我通过HTTPbuild立一个不安全的笔记本电脑时,它可以工作,但显然这是一个坏主意。 我遇到的问题具体是 但只有当通过我的域名访问它。 显然它必须得到保护,因为我通过它暴露python。 Apache不会为此logging错误,但Jupyter笔记本SSL Error on某些数字('127.0.0.1',某些数字): [SSL: WRONG_VERSION_NUMBER_NUMBER] wrong version number (_ssl.c:600) SSL Error on引发SSL Error on ): [SSL: WRONG_VERSION_NUMBER_NUMBER] wrong version number (_ssl.c:600) 我有Jupyter设置了SSL,并可以通过正常的https://localhost:8888/tree来访问它,它在https://www.[mydomain].com/ipython中确认了相同的连接细节和技术细节Chrome和Firefox中页面的安全选项卡 Jupyter似乎默认为TLS 1.0,根据openssl s_client -connect localhost:8888 ,select另一个协议得到SSL: WRONG_VERSION_NUMBER按预期。 diff <(openssl s_client -connect www.[mydomain].com:443 </dev/null) <(openssl s_client -connect localhost:8888 </dev/null)显示没有真正的差异。 由于url的大小,可以肯定的是,会话ID,主密钥和TLS会话票据的字节差异是不同的。 我的jupyter_notebook_config.py ( 切割和卫生的一种?)看起来像: c = […]

我需要uWSGI的应用程序或Nginix将足够?

根据官方uWSGI文档:networking服务器面向外部世界。 它可以直接从文件系统提供文件(HTML,图像,CSS等)。 但是,它不能直接与Django应用程序进行对话; 它需要运行应用程序的东西,从Web客户端(如浏览器)提供请求并返回响应。 Web服务器网关接口 – WSGI – 完成这项工作。 WSGI是一个Python标准。uWSGI是一个WSGI实现。 这是否意味着如果我想在Web服务器上部署一个Django应用程序,uWSGI是必须的?

从web表单以root身份调用CGI python脚本

我很难得到一个Web窗体来运行一个CGI脚本,需要执行一个具有root权限的命令。 表格是: <form class="mainform" action="./py/print_msg.py" method="POST"> <textarea name="post" cols=70 rows=20></textarea><br> <input type="submit" value="Print" class="button"> <input type="reset" value="Clear" class="button"> </form> python脚本print_msg.py是可执行文件( -rwxr-xr-x 1 root root ),并且只是打印string到浏览器的版本就可以正常工作,所以apache的CGI设置就好了。 #!/usr/bin/env python from Adafruit_Thermal import * print "Content-type: text/html\n\n" printer = Adafruit_Thermal("/dev/ttyAMA0", 19200, timeout=5) printer.wake() time.sleep(1) print "test" printer.sleep() 这在root运行时有效。 我编辑了/etc/sudoers如下: www-data ALL=(ALL) NOPASSWD: /usr/bin/sudo -u root /home/pi/www/html/py/print_msg.py 不知道这是否意味着万维网数据可以运行该脚本作为根或如果它会这样做,而不需要调用sudo ? […]