我有一个index.php脚本,我在Google Code网站上用作提交后的URL.此脚本克隆目录并构建可能需要一些工作的项目.我想避免让这个脚本并行运行多次.
是否有一种机制可以用来避免执行该脚本,如果另一个已经在会话中?
我正在开发一个由一些Python脚本(最多1M)和一个相对较大的数据集(1.5 GB)组成的协作科学项目.数据集与python脚本紧密相关,因为数据集本身就是科学,脚本是它们的简单接口.
我正在使用Mercurial作为我的源代码控制工具,但我不清楚一个很好的机制来定义存储库.从逻辑上讲,将这些捆绑在一起是有意义的,这样通过克隆存储库,您将获得整个包.另一方面,我关注处理大量数据的源代码控制工具.
有没有一个干净的机制来处理这个?
我正在尝试在Ubuntu中使用virtualenv来安装本地虚拟Python环境.当我运行shell命令时:
$ virtualenv ./virt_python
Run Code Online (Sandbox Code Playgroud)
它抛出一个无法导入的异常pkg_resources.但是当我打开一个Python shell并且from pkg_resources import load_entry_point运行正常时.作为参考,完整的堆栈跟踪如下.
$ virtualenv ./virt_python
New python executable in ./virt_python/bin/python
Installing setuptools............done.
Installing pip.......
Complete output from command /home/rpsharp/local/...hon/bin/easy_install /usr/local/lib/pytho...pport/pip-1.1.tar.gz:
Traceback (most recent call last):
File "/home/rpsharp/local/workspace/invest-natcap.invest-3/virt_python/bin/easy_install", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
----------------------------------------
...Installing pip...done.
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 9, in <module>
load_entry_point('virtualenv==1.7.1.2', 'console_scripts', 'virtualenv')()
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 928, in main
never_download=options.never_download)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1042, in …Run Code Online (Sandbox Code Playgroud) 设计JavaScript API有什么好方法?
我是JavaScript的新手,并且学习了该语言的关键优点,主要来自"JavaScript:The Good Parts".目前,我正在设计一个基于网络的工具来教授统计数据.代码库变得越来越难以部分,因为我不了解如何设计JavaScript API.
我的背景是Java和C++,用于设计接口,然后独立实现这些接口.显然,这在JavaScript中不起作用.
感谢您的任何帮助和建议.
更新:此工具的最终版本:http://www.lock5stat.com/statkey/index.html
我需要帮助调试Python中的一些奇怪的文件行为.采取以下脚本(write_con.py):
f=open('con.txt','w')
f.write('hi')
Run Code Online (Sandbox Code Playgroud)
在Linux中,这将创建一个con.txt使用内容调用的文件hi.在Windows中,这会写入hi控制台并且不会创建文件.我用Python 2.5.1,2.6.3,2.6.5和2.7.2尝试过这个.示例运行:
C:\Users\rpsharp> C:\Python27\python.exe .\write_con.py
hiC:\Users\rpsharp> C:\Python25\python.exe .\write_con.py
hiC:\Users\rpsharp>
Run Code Online (Sandbox Code Playgroud)
然而,一个名称以开头的东西命名的文件con工作正常(write_other_con.py):
f=open('other_con.txt','w')
f.write('hi')
Run Code Online (Sandbox Code Playgroud)
这是一个运行:
C:\Users\rpsharp> C:\Python25\python.exe .\write_other_con.py
C:\Users\rpsharp> type .\other_con.txt
hi
Run Code Online (Sandbox Code Playgroud)
当命名文件的前缀是con?时,会发生什么导致Windows版本的python写入控制台?
concurrent.futures.ProcessPoolExecutor如果父进程因任何原因终止,是否有办法使进程终止?
一些细节:我正在ProcessPoolExecutor处理大量数据的工作中使用。有时我需要使用kill命令终止父进程,但是当我这样做时,进程会ProcessPoolExecutor继续运行,我也必须手动终止它们。我的主要工作循环如下所示:
with concurrent.futures.ProcessPoolExecutor(n_workers) as executor:
result_list = [executor.submit(_do_work, data) for data in data_list]
for id, future in enumerate(
concurrent.futures.as_completed(result_list)):
print(f'{id}: {future.result()}')
Run Code Online (Sandbox Code Playgroud)
executor如果父进程死亡,我可以在此处添加什么或做不同的事情来使子进程终止吗?
我正在构建一个MySQL数据库,其中包含有关酵母种类中DNA的特殊子串的条目.我的表看起来像这样:
+--------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------+------+-----+---------+-------+
| species | text | YES | MUL | NULL | |
| region | text | YES | MUL | NULL | |
| gene | text | YES | MUL | NULL | |
| startPos | int(11) | YES | | NULL | |
| repeatLength | int(11) | YES | | NULL | |
| coreLength | int(11) | YES …Run Code Online (Sandbox Code Playgroud) 如何测试numpy数组中的每个元素是否被屏蔽?这是我想做的事情:
x = #is a maksed numpy array
masked_min = numpy.ma.min(x)
if masked_min IS NOT A MASKED ELEMENT:
#do some stuff only if masked_min is a value
Run Code Online (Sandbox Code Playgroud)
在实践中我看到这个:
>>> x = numpy.ma.array(numpy.array([1,2,3]),mask=[True,True,True])
>>> masked_min = numpy.ma.min(x)
masked
Run Code Online (Sandbox Code Playgroud)
测试masked没有帮助:
>>> numpy.ma.sum(x) == numpy.ma.masked
masked
Run Code Online (Sandbox Code Playgroud) 我有一个长期运行的python脚本,它创建和删除临时文件.我注意到在文件删除上花费了大量的时间,但删除这些文件的唯一目的是确保程序在长时间运行期间最终不会占用所有磁盘空间.Python中是否有一个跨平台机制来删除文件,以便在操作系统处理文件删除时主线程可以继续工作?
我编写了一个例程,将点数据插入到常规网格中.但是,我发现scipy最近邻插值的实现速度几乎是我用于线性插值的径向基函数的两倍(scipy.interpolate.Rbf)
相关代码包括如何构造插值器
if interpolation_mode == 'linear':
interpolator = scipy.interpolate.Rbf(
point_array[:, 0], point_array[:, 1], value_array,
function='linear', smooth=.01)
elif interpolation_mode == 'nearest':
interpolator = scipy.interpolate.NearestNDInterpolator(
point_array, value_array)
Run Code Online (Sandbox Code Playgroud)
并且当调用插值时
result = interpolator(col_coords.ravel(), row_coords.ravel())
Run Code Online (Sandbox Code Playgroud)
我正在运行的样本有27个输入插值值点,我在近20000 X 20000网格中进行插值.(我在内存块大小这样做,所以我不会爆炸计算机btw.)
下面是两个cProfile我在相关代码上运行的结果.请注意,最近邻居方案在406秒内运行,而线性方案在256秒内运行.最近的方案主要是对scipy的调用kdTree,这似乎是合理的,除了在rbf很长一段时间内表现优于它.任何想法为什么或我可以做什么来使我最近的方案比线性运行得更快?
线性运行:
25362 function calls in 225.886 seconds
Ordered by: internal time
List reduced from 328 to 10 due to restriction <10>
ncalls tottime percall cumtime percall filename:lineno(function)
253 169.302 0.669 207.516 0.820 C:\Python27\lib\site-packages\scipy\interpolate\rbf.py:112(
_euclidean_norm)
258 38.211 …Run Code Online (Sandbox Code Playgroud) python ×6
apache ×1
api-design ×1
database ×1
dvcs ×1
javascript ×1
large-files ×1
mercurial ×1
mysql ×1
numpy ×1
php ×1
python-wheel ×1
repository ×1
scipy ×1
sql ×1
virtualenv ×1