列出在其他地方部署工作项目所需的所有依赖项(比如说在不同的操作系统上)的最有效方法是什么?
Python 2.7,Windows开发环境,不是每个项目使用virtualenv,而是全局开发环境,根据需要安装库,愉快地从一个项目跳到下一个项目.
我已经跟踪了我必须为给定项目安装的大多数(不确定所有)库.我没有跟踪自动安装它们的任何子依赖项.做pip freeze列表,以及所有其他已安装的库.
有没有办法列出您需要安装的内容,不多也不少,以便部署项目?
注意:无法想象这已经没有Q + A,但我找不到它.
编辑鉴于以下答案,一些澄清.我的项目由一堆模块(我写的)组成,每个模块都有一堆imports.我是否应该将所有模块中的所有导入复制粘贴到一个文件中,排序消除重复,并从标准库中丢弃所有(以及我怎么知道它们)?或者,还有更好的方法?这就是问题所在.
是否存在为以用户身份运行的守护程序存储pid文件的首选位置?/ var/run是标准位置,但这适用于用户守护程序,因此它没有写入权限.据推测,我的守护进程将从.profile或.bashrc或其他东西开始.只是把它保存到/ tmp一个坏主意?
使用strace可以看到ioctl调用特定文件描述符和某些命令.第三个参数是结构,但strace将其显示为指向内存的原始指针.strace输出示例:
open("/dev/node", O_RDWR) = 3
ioctl(3, 0x108, 0x8f0eb18) = 0
close(3)
Run Code Online (Sandbox Code Playgroud)
有没有办法(strace选项或其他工具)来查看结构是什么,或者至少是原始指针背后的值?
Python 3.3,这种形式的键值对字典.
d = {'T1': ['eggs', 'bacon', 'sausage']}
Run Code Online (Sandbox Code Playgroud)
值是可变长度的列表,我需要迭代列表项.这有效:
count = 0
for l in d.values():
for i in l: count += 1
Run Code Online (Sandbox Code Playgroud)
但它很难看.必须有更多的Pythonic方式,但我似乎无法找到它.
len(d.values())
Run Code Online (Sandbox Code Playgroud)
产生1.它是1个列表(DUH).从这里尝试使用计数器会产生"不可用类型"错误.
我有一个带有TextField,FileField的表单,我想添加一个RadioField.
我想要一个有两个选项的无线电领域,用户只能选择一个.我正在关注前两个有效的形式示例.
我的forms.py看起来像这样
from flask import Flask, request
from werkzeug import secure_filename
from flask.ext.wtf import Form, TextField, BooleanField, FileField, file_required, RadioField
from flask.ext.wtf import Required
class ImageForm(Form):
name = TextField('name', validators = [Required()])
fileName = FileField('fileName', validators=[file_required()])
certification = RadioField('certification', choices = ['option1', 'option2'])
Run Code Online (Sandbox Code Playgroud)
在我的views.py文件中
form = myForm()
if form.validate_on_submit():
name = form.name.data
fileName = secure_filename(form.fileName.file.filename)
certification = form.certification.data
Run Code Online (Sandbox Code Playgroud)
在我的.html文件中
{% block content %}
<h1>Simple Form</h1>
<form action="" method="post" name="simple" enctype="multipart/form-data">
{{form.hidden_tag()}}
<p>
Name:
{{form.name(size=80)}}
</p>
<p>
Upload a file …Run Code Online (Sandbox Code Playgroud) 我在Python中有一些[对我的RPi]的任务涉及很多sleep事情:做一些需要一两秒钟或三秒钟的事情,然后等待几分钟或几小时.我希望在睡眠时间内将控制权传递给操作系统(Linux).为此,我应该躲避那些任务.一种方法是使用Python的标准守护程序进程库.
但守护进程并不那么容易理解.根据PEP 3143的基本原理段落,表现良好的守护进程应该执行以下操作.
对于像我这样的Linux/Unix新手,其中一些不是解释.但我想知道为什么我做我做的事.那么这个理由背后的理由是什么?
在Python中
>>> i = 3
>>> -i**4
-81
Run Code Online (Sandbox Code Playgroud)
为什么-i**4不被评估为(-i)**4,但是-(i**4)?
我想有人可能会争辩说,提升到一个权力优先于(隐含)乘以i减一(即你应该阅读-1*i**4).但是在那里我学到的数学,-i**n用n连和i积极的,应该站出来正面.
表格中的名字:Ceasar,Julius将分为First_name Julius姓氏Ceasar.
名称可能包含变音符号(áàé..)和连字符(æ,ø)
这段代码似乎在Python 3.3中运行正常
import re
def doesmatch(pat, str):
try:
yup = re.search(pat, str)
print('Firstname {0} lastname {1}'.format(yup.group(2), yup.group(1)))
except AttributeError:
print('no match for {0}'.format(str))
s = 'Révèrberë, Harry'
t = 'Åapö, Renée'
u = 'C3po, Robby'
v = 'Mærsk, Efraïm'
w = 'MacDønald, Ron'
x = 'Sträßle, Mpopo'
pat = r'^([^\d\s]+), ([^\d\s]+)'
# matches any letter, diacritic or ligature, but not digits or punctuation inside the ()
for i in s, t, u, v, w, x:
doesmatch(pat, i) …Run Code Online (Sandbox Code Playgroud) 什么是以下的Pythonic解决方案?
我正在读一个分辨率为.5的温度传感器.我需要写入它(它具有可编程恒温器输出),也具有.5分辨率.
所以我编写了这个函数(Python 2.7)来将一个浮点数作为输入舍入到最接近的.5:
def point5res(number):
decimals = number - int(number)
roundnum = round(number, 0)
return roundnum + .5 if .25 <= decimals < .75 else roundnum
print point5res (6.123)
print point5res(6.25)
print point5res(6.8)
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,分别输出6.0,6.5和7.0.这就是我想要的.
我对Python比较陌生.这条线
return roundnum + .5 if .25 <= decimals < .75 else roundnum
Run Code Online (Sandbox Code Playgroud)
让我对它的实施者表示钦佩.但它是Pythonic吗?
编辑:自发布以来,我学到了更多关于什么是'Pythonic'的内容.我的代码不是.Cmd的下面是.谢谢!
我有robocopy的问题.我想用它来备份系统光盘,我想排除一些系统文件夹.但它仍在尝试复制其中一些文件夹.我的批处理文件是这样的:
robocopy c:\ l:\C\ /r:1 /w:1 /mir /dcopy:T /xjd /xjf /xj /copy:DT /log+: l:\RobocopyLogC.txt /xf "desktop.ini" /xd "$Recycle.Bin" /xd Config.Msi /xd MSOCache/xd Recovery /xd "System Volume Information" /xd Windows /xd "Program Files\Common Files" /xd "Program Files\Internet Explorer" /xd "Program Files\Reference Assemblies" /xd "Program Files\Uninstall Information" /xd "Program Files\Microsoft Analysis Services" /xd "Program Files\Microsoft Mouse and Keyboard Center" /xd "Program Files\Microsoft Office" /xd "Program Files\Microsoft Silverlight" /xd "Program Files\MSBuild" /xd "Program Files\Windows Defender" /xd "Program Files\Windows Journal" /xd "Program Files\Windows Mail" …Run Code Online (Sandbox Code Playgroud) python ×7
linux ×2
c ×1
count ×1
daemon ×1
daemons ×1
diacritics ×1
dictionary ×1
flask ×1
if-statement ×1
list ×1
pid ×1
python-2.7 ×1
python-3.3 ×1
regex ×1
robocopy ×1
strace ×1