小编Luk*_*ard的帖子

ImportError:没有名为backend_tkagg的模块

我有这样的导入和代码:

import pandas as pd
import numpy as np
import statsmodels.formula.api as sm
import matplotlib.pyplot as plt    


#Read the data from pydatasets repo using Pandas
url = './file.csv'
white_side = pd.read_csv(url)    
#Fitting the model    
model = sm.ols(formula='budget ~ article_size',
               data=white_side,
               subset=white_side['producer'] == "Peter Jackson")
fitted = model.fit()
print fitted.summary()
Run Code Online (Sandbox Code Playgroud)

执行此代码后,我有这样的错误:

/usr/bin/python2.7 /home/seth/PycharmProjects/osiris_project/PMN_way/start.py
Traceback (most recent call last):
  File "/home/seth/PycharmProjects/osiris_project/PMN_way/start.py", line 5, in <module>
    import matplotlib.pyplot as plt
  File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 98, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File …
Run Code Online (Sandbox Code Playgroud)

python module numpy python-module pycharm

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

看来我已经用完了32位地址空间.我有什么选择?

我正在尝试使用大矩阵的协方差numpy.cov.我收到以下错误:

Python(22498,0xa02e3720) malloc: *** mmap(size=1340379136) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

Process Python bus error

对于32位机器/构建来说这似乎并不少见(我有一个64位的mac os x 10.5,但使用32位python和numpy构建,因为我在64-上构建numpy + scipy + matplotlib时遇到了麻烦位安装).

那么在这一点上,如果没有切换机器(目前没有其他可用的话),那么我将继续进行分析的推荐行动方案是什么?出口到fortran/C?有一个简单的(r)解决方案吗?谢谢你的建议.

python numpy bigdata

10
推荐指数
1
解决办法
1078
查看次数

PyQt:让小部件在QDialog中自动调整大小

当对话框本身调整大小时,我很难在自动调整QDialog中获取小部件.

在以下程序中,如果您调整主窗口的大小,textarea会自动调整大小.但是,在调整对话框大小时,对话框中的textarea保持相同的大小.

有没有办法让对话框中的textarea自动调整大小?我尝试过使用setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)对话框本身和内部的两个小部件,但这似乎没有任何效果.

我在openSuSE 10.2上使用Qt版本3.3.7和PyQt版本3.5.5-29,如果这是相关的.

import sys
from qt import *

# The numbers 1 to 1000 as a string.
NUMBERS = ("%d " * 1000) % (tuple(range(1,1001)))

# Add a textarea containing the numbers 1 to 1000 to the given
# QWidget.
def addTextArea(parent, size):
    textbox = QTextEdit(parent)
    textbox.setReadOnly(True)
    textbox.setMinimumSize(QSize(size, size*0.75))
    textbox.setText(NUMBERS)


class TestDialog(QDialog):
    def __init__(self,parent=None):
        QDialog.__init__(self,parent)
        self.setCaption("Dialog")
        everything = QVBox(self)

        addTextArea(everything, 400)
        everything.resize(everything.sizeHint())


class TestMainWindow(QMainWindow):
    def __init__(self,parent=None):
        QMainWindow.__init__(self,parent)
        self.setCaption("Main Window")
        everything = QVBox(self)

        addTextArea(everything, 800) …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qdialog

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

使用JDBC和编译将Microsoft Access数据库连接到Java

对于学校数据库项目,我们正在制作数据库程序(用户GUI和数据库).使用Microsoft Access 2010我创建了数据库并使用一些示例数据填充它,并将其保存为.mdb格式并将其放在我的项目文件夹中.

在eclipse中运行时,以下代码工作正常,连接甚至检索查询.但是我发现我无法将代码导出到jar并运行它(这是项目所需的,在CD或闪存驱动器上为它们提供程序的工作副本),而且我也无法移植代码到Netbeans让它工作,以及尝试在Linux机器上编译.

我认为这是包含驱动程序或尝试使用Microsoft访问的问题.运行jar或在Netbeans上运行时得到的错误在代码下方给出.所以我要么问我如何包含驱动程序以使程序可移植,或者我怎么能解决这个问题呢?

提前致谢

import java.sql.*;

public class JDBCTest {
    static Connection connection;
    static Statement statement;

    public static void main(String args[]){

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=TLDATABASEDBM.mdb";
            connection = DriverManager.getConnection( database ,"",""); 

            buildStatement();
            executeQuery();

        }catch(Exception e){
            e.printStackTrace();
            System.out.println("Error!");
        }
    }

    public static void buildStatement() throws SQLException {
        statement = connection.createStatement();
    }

    public static void executeQuery() throws SQLException {

        boolean foundResults = statement.execute("SELECT * FROM tblStaff  AS x WHERE City='Calgary'");
        if(foundResults){
            ResultSet set = statement.getResultSet(); …
Run Code Online (Sandbox Code Playgroud)

java ms-access database-connection jdbc executable-jar

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

JDBC使用SELECT FOR UPDATE锁定一行,不起作用

我遇到MySQL的SELECT问题.. FOR UPDATE,这是我试图运行的查询:

SELECT * FROM tableName WHERE HostName='UnknownHost' 
        ORDER BY UpdateTimestamp asc limit 1 FOR UPDATE
Run Code Online (Sandbox Code Playgroud)

在此之后,相关的线程将执行UPDATE并更改HostName,然后它应该解锁该行.

我正在运行一个多线程java应用程序,所以3个线程正在运行这个SQL语句,但是当线程1运行它时,它不会从线程2和3锁定其结果.因此线程2和3得到相同的结果,他们可以更新同一行.

每个线程也都有自己的mysql连接.

我正在使用Innodb,事务隔离= READ-COMMITTED,并且在执行select for update之前自动提交已关闭

我可能会错过什么吗?或许还有更好的解决方案?非常感谢.

代码:

public BasicJDBCDemo()
{
    Le_Thread newThread1=new Le_Thread();
    Le_Thread newThread2=new Le_Thread();
    newThread1.start();
    newThread2.start();         
}
Run Code Online (Sandbox Code Playgroud)

线程:

class Le_Thread extends Thread  
{

    public void run() 
    {
    tring name = Thread.currentThread().getName();
        System.out.println( name+": Debut.");
    long oid=Util.doSelectLockTest(name);
    Util.doUpdateTest(oid,name);        
    }

}
Run Code Online (Sandbox Code Playgroud)

选择 :

public  static long doSelectLockTest(String threadName)
  {
    System.out.println("[OUTPUT FROM SELECT Lock ]...threadName="+threadName);
    PreparedStatement pst = null;
    ResultSet rs=null;
    Connection …
Run Code Online (Sandbox Code Playgroud)

java sql jdbc

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

如何在Android上查询UserDictionary内容提供程序?

我似乎找不到任何关于如何在给定单词的情况下查询UserDictionary内容提供者的良好示例代码.我的查询如下:

Cursor cur = getContentResolver().query(
    UserDictionary.Words.CONTENT_URI,
    new String[] {Words._ID, Words.WORD},
    Words.WORD + "=?",
    new String[] {"test"},
    null);
Run Code Online (Sandbox Code Playgroud)

我也尝试过不指定查询以及不指定投影,并且光标始终为空.我已经列入android.permission.READ_USER_DICTIONARY了我的清单.

android

8
推荐指数
1
解决办法
3672
查看次数

有没有办法阻止SQL Server以静默方式截断局部变量和存储过程参数中的数据?

我最近在将应用程序移植到SQL Server时遇到了问题.事实证明,这个问题是由于存储过程参数被声明为传递给它的数据太短造成的:参数被声明为VARCHAR(100)但在一种情况下传递了超过100个字符的数据.让我感到惊讶的是,SQL Server没有报告任何错误或警告 - 它只是默默地将数据截断为100个字符.

以下SQLCMD会话演示了这一点:

1> create procedure WhereHasMyDataGone (@data varchar(5)) as
2> begin
3>     print 'Your data is ''' + @data + '''.';
4> end;
5> go
1> exec WhereHasMyDataGone '123456789';
2> go
Your data is '12345'.

局部变量也表现出相同的行为:

1> declare @s varchar(5) = '123456789';
2> print @s;
3> go
12345

是否有一个选项,我可以在这种情况下启用SQL Server报告错误(或至少警告)?或者我应该将所有局部变量和存储过程参数声明为VARCHAR(MAX)NVARCHAR(MAX)

t-sql sql-server

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

从客户端检测到潜在危险的Request.Form值

当我试图发布任何包含<whatever>我得到的东西时

从客户端检测到潜在危险的Request.Form值说明:请求验证已检测到潜在危险的客户端输入值,并且请求的处理已中止.此值可能表示尝试破坏应用程序的安全性,例如跨站点脚本攻击.要允许页面覆盖应用程序请求验证设置,请将httpRuntime配置部分中的requestValidationMode属性设置为requestValidationMode ="2.0".示例:.设置此值后,您可以通过在Page指令或配置部分中设置validateRequest ="false"来禁用请求验证.但是,强烈建议您的应用程序在这种情况下明确检查所有输入.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=153133.

异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值

我有以下asp.net代码

 <asp:DetailsView ID="newsDetail" runat="server" DataSourceID="SqlDataSourceNews"
                AutoGenerateRows="False" DataKeyNames="id" 
                OnItemUpdating="NewsDetailItemUpdating" OnItemCreated="NewsDetailItemCreated"
                OnItemDeleted="NewsDetailItemDeleted" OnItemInserted="NewsDetailItemInserted"
                OnItemInserting="NewsDetailItemInserting" OnItemUpdated="NewsDetailItemUpdated"
                DefaultMode="Insert">

                <Fields>
                    <asp:TemplateField FooterText="show at statpage" HeaderText="view" SortExpression="view">
                       ...
                    </asp:TemplateField>
                    <asp:BoundField DataField="headline" HeaderText="Headline" SortExpression="headline">
                    </asp:BoundField>
                    <asp:TemplateField HeaderText="Text">
                        <ItemTemplate>
                            <asp:Label ID="post" runat="Server" Text='<%# Eval("post") %>' OnPreRender="PostLabelPreRender" />
                        </ItemTemplate>
                        <InsertItemTemplate>
                            <asp:TextBox ID="postTextBox" runat="server" Text='<%# Bind("post") %>' TextMode="MultiLine"
                                Width="500px" Height="300px" />
                        </InsertItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="postTextBox" runat="server" Text='<%# Bind("post") %>' TextMode="MultiLine"
                                Width="500px" Height="300px" />
                        </EditItemTemplate>
                    </asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

和代码

    protected void NewsDetailItemUpdating(object sender, DetailsViewUpdateEventArgs …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

将字符串用作Silverlight中的数据模板的数据模板时的事件处理程序

我试图使用字符串以编程方式为数据形式创建一些xaml.我可以让组合框出现.但是当我尝试使用在字符串中指定"MouseLeftButtonUp"或"Loaded"事件处理程序的代码时; 进入后,页面将变为白色(没有明显的错误).请参阅下面的相关代码.

     StringBuilder editTemplate = new StringBuilder("");
     editTemplate.Append("<DataTemplate ");
     editTemplate.Append("xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' ");
     editTemplate.Append("xmlns:toolkit='http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit' ");
     editTemplate.Append("xmlns:navigation='clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation' ");
     editTemplate.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' >");
     editTemplate.Append("<StackPanel>");
     editTemplate.Append(@"  <toolkit:DataField Label='" + GetFieldWithoutNumber(theInfo, theDataContext) + "'>");
     /* Won't Work */ editTemplate.Append(@" <ComboBox MouseLeftButtonUp='ComboBox_MouseLeftButtonUp' />");
     /* Will Work  */ editTemplate.Append(@" <ComboBox />");
     editTemplate.Append(@" </toolkit:DataField>");
     editTemplate.Append("</StackPanel></DataTemplate>");
     dynamicDataForm.EditTemplate = XamlReader.Load(editTemplate.ToString()) as DataTemplate;
Run Code Online (Sandbox Code Playgroud)

c# silverlight xaml

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

有没有办法在它的64位浮点IEEE754表示中看到一个数字

Javascript根据规范将所有数字存储为双精度64位格式IEEE 754值:

Number类型具有18437736874454810627(即2 64 -2 53 +3)个值,表示IEEE标准二进制浮点运算中指定的双精度64位格式IEEE 754值

有没有办法在Javascript中查看此表单中的数字?

javascript binary ieee-754

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