小编5xu*_*xum的帖子

TortoiseGit没有显示图标叠加

我已经使用TortoiseGit了近一整年了.直到昨天我遇到问题时,它一直很好用.我正在删除一个文件夹,当Windows资源管理器崩溃了我(它挂在"发现项目"上)超过一个小时,然后我重新启动了系统.

自那时以来,(而且我知道,如果描述的事件有什么关系呢),TortoiseGit已经停止显示Explorer图标覆盖.但是,这种行为与其他在此处发布问题的人不同,因为:

open file所有程序的对话中,图标仍然存在(!).

这是我尝试的一系列事项:

  1. 我更改了TortoiseGit设置以显示不同的图标.
  2. 重新安装TortoiseGit(卸载,重启,安装,重启).
  3. 我删除了以"Tortoise"开头的所有图标叠加HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers,然后卸载了TortoiseGit,重新启动了计算机并重新安装了TortoiseGit.

编辑:

我试图在我的计算机上创建一个新用户,新用户的图标叠加工作正常.我现在更加困惑.

到目前为止没有任何帮助.有任何想法吗?

git tortoisegit

123
推荐指数
7
解决办法
8万
查看次数

重新排列numpy 2D数组的列

有没有办法将numpy 2D数组中列的顺序更改为新的任意顺序?例如,我有一个数组

array([[10, 20, 30, 40, 50],
       [ 6,  7,  8,  9, 10]])
Run Code Online (Sandbox Code Playgroud)

我想改成它,比方说

array([[10, 30, 50, 40, 20],
       [ 6,  8, 10,  9,  7]])
Run Code Online (Sandbox Code Playgroud)

通过应用排列

0 -> 0
1 -> 4
2 -> 1
3 -> 3
4 -> 2
Run Code Online (Sandbox Code Playgroud)

在列上.因此,在新矩阵中,我希望原始的第一列保持原位,第二列移动到最后一列,依此类推.

有一个numpy功能吗?我有一个相当大的矩阵,并期望得到更大的矩阵,所以我需要一个解决方案,如果可能的话,快速到位(排列矩阵是禁止的)

谢谢.

python arrays numpy edit-in-place

47
推荐指数
3
解决办法
3万
查看次数

在切换到不同的Python二进制文件后,强制`pip`重新编译以前安装的包(numpy)

这个问题同样是关于我的特定问题的问题(我发现这是一个解决问题,因此它不是一个燃烧的问题),因为它与我正在使用的一般过程有关.


设置(有效的部分):

我在我的Ubuntu 14.04上本地安装了Python 2.7.9,我有一个virtualenv,我正在运行它.一切都与"系统"Python分开,我没有触及.


我做的部分:

这一切都开始得很好,安装了我的Python并运行了所有库.例如,我也pip安装了numpy 1.10.1,它编译了一段时间,然后它运行得很好.

问题:

问题是,由于我无法控制的原因,我不得不重启python并ucs4启用,即我使用它安装它

./configure --enable-unicode=ucs4
Run Code Online (Sandbox Code Playgroud)

执行此操作后,我还卸载了所有库并使用pip重新安装它们.但是,似乎numpy库没有正确卸载,因为它这次立即安装,当我尝试导入numpy到我的新Python时,我收到一条错误消息,指出numpy是用ucs2-enabled Python 编译的.

这个假设非常可靠,因为我曾经尝试过pip install numpy==1.9.3.安装再次花了很长时间,它产生了一个适用于新ucs4启用的Python的numpy版本.

现在,我的问题:

如何才能获得numpy卸载过程以删除旧numpy的所有痕迹?


编辑:

我还尝试通过从virtualenv site-packages目录中删除它来手动删除numpy .删除后,按预期import numpy返回ImportError.然后我重新安装它(pip install numpy)然后它返回了相同的ucs2错误.

编辑2:

sys.path我的virtualenv Python 完全看到了

['',
 '/home/jkralj/.virtualenvs/work/lib/python27.zip',
 '/home/jkralj/.virtualenvs/work/lib/python2.7',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/plat-linux2',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-tk',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-old',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7.9/lib/python2.7',
 '/usr/local/lib/python2.7.9/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7.9/lib/python2.7/lib-tk',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/site-packages']
Run Code Online (Sandbox Code Playgroud)

另外,重要的是要提到/usr/local/lib/python2.7.9/python 的安装没有安装numpy.

python installation numpy pip virtualenv

19
推荐指数
2
解决办法
2万
查看次数

Tensorflow导致日志消息加倍

所以我正在玩他们昨天发布的Google的Tensorflow库,遇到了一个令我讨厌的烦人的bug.

我所做的是像往常一样设置python日志记录功能,结果是,如果我导入tensorflow库,控制台中的所有消息都开始加倍.有趣的是,如果您只使用该功能,则不会发生这种情况logging.warn/info/..().

不会使消息加倍的代码示例:

import tensorflow as tf
import logging

logging.warn('test')
Run Code Online (Sandbox Code Playgroud)

的一个代码示例双所有消息:

import tensorflow as tf
import logging

logger = logging.getLogger('TEST')
ch = logging.StreamHandler()
logger.addHandler(ch)

logger.warn('test')
Run Code Online (Sandbox Code Playgroud)

现在,我是个简单的人.我喜欢它的功能logging,所以我使用它.使用logger对象和添加a的设置StreamHandler是我看到的其他人如何做到这一点的东西,但看起来它符合这个东西的意图.但是,我没有对日志库的深入了解,因为它总是有点工作.

因此,解释为什么消息加倍的任何帮助都将是最有帮助的.

我使用Ubuntu 14.04.3 LTS与Python 2.7.6,但错误发生在我尝试的所有Python 2.7版本中.

python logging tensorflow

16
推荐指数
1
解决办法
3202
查看次数

当alpha不是1时,Pyplot pcolormesh会混淆

我对pyplot的绘图能力有一些困难.我选择了自己的色彩图

n = 6
map = matplotlib.cm.get_cmap('Dark2')
cmap = colors.ListedColormap([(0,0,0,0)] + [[map(i * 1.0 / n)[j] for j in range(3)] + [0.2] for i in range(1, n + 1)])
Run Code Online (Sandbox Code Playgroud)

这基本上只是Dark2色彩映射,离散化为n(在我的情况下为6)值,零值映射到纯白色.但是,主要区别在于alpha我的自定义色彩映射的值设置为0.2,而不是1默认值.

问题是,当我使用这个绘制一些东西时,就像

plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv)
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

结果

这看起来不错,但你可以清楚地看到每个盒子周围有一个非常薄的边框,颜色与盒子相同但alpha设置为1.

编辑:正如评论中所建议的那样,这些边框的原因可能是框之间的重叠.

有没有办法清理它?

python matplotlib

15
推荐指数
1
解决办法
3071
查看次数

快速有效地计算已知特征值的特征向量

我的问题的简短版本:

A如果我们已经知道属于特征向量的特征值,那么计算矩阵的特征向量的最佳方法是什么?

更长的解释:

我有一个大的随机矩阵A,因为它是随机的,有一个非负的左特征向量x(这样A^Tx=x).

我正在寻找快速有效的数值计算这个向量的方法.(最好是在MATLAB或numpy/scipy中 - 因为这两者都包含在ARPACK/LAPACK中,任何一个都没问题).

我知道这1是最大的特征值A,所以我知道调用类似这样的Python代码:

from scipy.sparse.linalg import eigs
vals, vecs = eigs(A, k=1)
Run Code Online (Sandbox Code Playgroud)

将导致vals = 1vecs等于我需要的向量.

然而,困扰我的是,计算特征值通常比解决线性系统更困难,并且通常,如果矩阵M具有特征值l,那么找到适当的特征向量就是求解方程的问题.(M - 1 * I) * x = 0至少在理论上,这是一种比计算特征值更简单的操作,因为我们只求解线性系统,更具体地说,找到矩阵的零空间.

但是,我发现所有的零空间计算方法都MATLAB依赖于svd计算,这是我无法在我的大小矩阵上执行的过程.我也不能在线性方程上调用求解器,因为它们都只找到一个解决方案,而那个解决方案是0(这是一个解决方案,但不是我需要的解决方案).

有没有办法避免调用eigs类似函数来比通过计算最大特征值和伴随的特征向量更快地解决我的问题?

python matlab numeric linear-algebra eigenvector

9
推荐指数
1
解决办法
1337
查看次数

带有python和fileinput的Unicode文件

我越来越相信文件编码业务的目的是尽可能地混淆.我在读取utf-8只包含一行的编码文件时遇到问题:

“blabla this is some text”
Run Code Online (Sandbox Code Playgroud)

(请注意,引号是标准引号的一些奇特版本).

现在,我Python在其上运行这段代码:

import fileinput
def charinput(paths):
    with open(paths) as fi:
        for line in fi:
            for char in line:
                yield char
i = charinput('path/to/file.txt')
for item in i:
    print(item)
Run Code Online (Sandbox Code Playgroud)

有两个结果:如果我从命令提示符运行我的python代码,结果是一些奇怪的字符,后跟一个错误消息:

?
»
?
â
Traceback (most recent call last):
  File "krneki.py", line 11, in <module>
    print(item)
  File "C:\Python34\lib\encodings\cp852.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u20ac' in position
0: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)

我得到这个问题来自于一个事实,即Python的尝试读取"错误"编码的文件,但有没有办法责令想法 …

python utf-8

7
推荐指数
1
解决办法
5877
查看次数

仅在一个高图标记中禁用标记悬停

我试图说服我的高图来做我的竞标并遇到了问题.

我想要的是:我希望图表中的一个标记消失.我想让这条线经过(并且突破)一点,但这一点完全无关紧要,我不想在悬停在它上面时弹出这一点.我当前的代码看起来像这样:

$(function () {
var chart;
$(document).ready(function() {
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'line'
        },   
        plotOptions: {
            series: {
                states: {
                    hover: {
                        enabled: true
                    }
                }
            }
        },
        series: [{
            marker: {
                enabled: false
            },
            data: [15.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
                y: 26.5,
                marker: {
                    enabled: false,
                    states: {
                        hover: {
                            enabled: false
                        }
                    }
                }
            }, 23.3, 18.3, 13.9, 9.6]    
        }]
    });
});
});
Run Code Online (Sandbox Code Playgroud)

我的所有标记都表现相同:直到我将鼠标悬停在它们上面时它们才会被看到,此时它们会弹出.我想要的是所有标记的行为与提供的代码一样,但y = 25.6处的标记除外.我希望此标记的行为与我设置时从所有标记获得的行为相同

hover:{ enabled: false …
Run Code Online (Sandbox Code Playgroud)

javascript highcharts

6
推荐指数
2
解决办法
7999
查看次数

Skype4Py MessageStatus没有持续发射

我正在尝试使用基本的Skype机器人Skype4Py并遇到了相当严重的错误.我正在使用32位Python 2.7.8的64位Windows 7.已安装,以及最新版本的Skype4Py.

我的主要要求是机器人概述了5不同的Skype聊天:四个用户聊天,四个用户和一个共同聊天,所有四个用户都参与其中.为此,我编写了两个不同的函数来处理个人回复和群聊:

class SkypeBot(object):
    def __init__(self):
        self.skype = Skype4Py.Skype(Events=self)
        self.skype.Attach()
        self.active_chat = find_conference_chat()

    def MessageStatus(self, msg, status):
        if status == Skype4Py.cmsReceived:
            if msg.Chat.Name == self.active_chat.Name:
                msg.Chat.SendMessage(respond_to_group(msg))
            else:
                msg.Chat.SendMessage(respond_to_individual(msg))
bot = SkypeBot()
Run Code Online (Sandbox Code Playgroud)

上面的代码(还有更多内容,但它的核心是写下来的)应该回答任何用户私下或群聊中发送的每条消息.

但是,有一个问题.通常,这段代码工作得很好.机器人响应每个用户以及群聊.然后,每隔一段时间(每10次聊天),机器人停止响应个别消息.该功能MessageStatus根本不会触发,这让我觉得可能还有其他需要捕获的事件.所以我在机器人中添加了一个通用事件捕手:

    def Notify(self, notification):
        print "NOTIFICATION:"
        print notification
        print "=========================="
Run Code Online (Sandbox Code Playgroud)

此代码的唯一目的是查看我是否遗漏了任何事件.所以我等了一下,当机器人没有响应时,我检查了该函数的打印输出.

  • 通常,当消息到达时,机器人会收到几个通知:聊天消息收到通知,聊天活动时间戳通知和其他一些通知.chatmessage收到的通知是最终触发MessageStatus事件的通知.
  • 在机器人没有响应的情况下,只有一个通知.这是通知CHAT **** ACTIVITY_TIMESTAMP ******.没有收到聊天消息的通知,因此没有回复的消息.

当我手动点击我的Skype客户端并将我的窗口集中在收到的消息上时,MessageStatusevend终于解雇了,机器人响应了,但这太迟了.


我的问题有几个部分:

  • 我的通用代码是否正确?如果能够Skype4Py完美运行,我的代码可以正常工作吗?
  • 有没有其他人遇到这个错误,某个事件没有发生?
  • 如果遇到类似的错误,你解决了吗?如果没有,你至少发现如何始终如一地重现这个问题?我甚至无法调试它,因为它突然出现,无处不在......

python skype4py

6
推荐指数
1
解决办法
466
查看次数

将Javascript添加到自定义小部件

这个问题与

Django:将Javascript添加到自定义小部件的最佳方法

但是不一样。

最初的问题询问如何向自定义django小部件中添加支持的javascript,答案是使用forms.Media,但是该解决方案对我不起作用。我的例子是这样的:

在以表单呈现时,该小部件会创建一条类似于(玩具示例)的线:

<div id="some-generated-id">Text here</div>
Run Code Online (Sandbox Code Playgroud)

现在,我还想添加到输出中的是另一行,如下所示:

<script>
$('#some-generated-id').datetimepicker(some-generated-options)
</script>
Run Code Online (Sandbox Code Playgroud)

最初的想法是,当小部件被呈现,无论是divscript得到呈现,但不起作用。问题在于html文档的结构如下所示:

-body
    - my widget
    - my widget's javascript
-script
    -calls to static files (jQuery, datetimepicker,...)
Run Code Online (Sandbox Code Playgroud)

在将小部件的javascript代码加载到浏览器中时,尚未加载jQuery和datetimepicker js文件(它们在文档末尾加载)。

我无法使用来执行此操作Media,因为我生成的选项和ID对函数至关重要。解决此问题的最佳方法是什么?

javascript python django jquery django-custom-field

6
推荐指数
1
解决办法
533
查看次数