小编Vas*_*lis的帖子

H2数据库错误:数据库可能已在使用中:"被另一个进程锁定"

我正在尝试使用Java应用程序中的H2数据库.

我通过H2控制台创建了数据库及其表,然后尝试使用Java连接

Connection con = DriverManager.getConnection("jdbc:h2:~/dbname", "username", "password");
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

线程"main"中的异常org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:"被另一个进程锁定".可能的解决方案:关闭所有其他连接; 使用服务器模式[90020-161]

我试图删除该dbname.lock.db文件,但它会自动重新创建.

如何解锁数据库以从我的Java程序中使用它?

java database h2

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

为什么INSERT IGNORE会增加auto_increment主键?

我写了一个访问MySQL innodb数据库的java程序.

每当INSERT IGNORE语句遇到重复条目时,Auto Increment主键就会递增.

这种行为是预期的吗?我认为IGNORE不应该发生这种情况.这意味着IGNORE实际上会产生额外的开销来写入新的主键值.

表格如下:

CREATE TABLE `tablename` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `rowname` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `rowname` (`rowname`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

谢谢!

mysql

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

Pandas条形图中的自定义图例(matplotlib)

我创建了一个带有Pandas的条形图,其中我展示了一些国家的数量变化,并根据每个国家的大陆设置了条形颜色.我使用以下代码绘制图形.该代码基于此问题的第二个回复:

s = pd.Series(
     listOfQuantities,
     listOfCountiesNames
)

''' Assign color to each country based on the continent '''
colormapping = {'AF':'k','AS':'r','EU':'g','OC':'r','NA':'b','SA':'y'}
colorstring = ""
for country in listOfCountiesNames:
    continent = countryToContinent[country]
    colorstring += colormapping[continent]


pd.Series.plot(
    s,
    kind='bar',
    color=colorstring,
    grid=False,
)
Run Code Online (Sandbox Code Playgroud)

我想创建一个类似于我在附加图像中显示的图例(图例不是由python生成的,我手动添加).是否可以用熊猫绘制这样的自定义图例,还是可以实现与其他图形库类似的东西?此外,我也很欣赏有关此类数据的替代绘图类型的建议.

在此输入图像描述

python plot matplotlib pandas

12
推荐指数
1
解决办法
5675
查看次数

获取当前Google Compute Instance的名称或ID

我正在运行许多运行Python代码的Google Compute Engine实例,我想从实例中找到每个实例的名称或ID.

我发现的一个解决方案是使用以下方法获取实例的内部IP:

import socket
internal_ip = socket.gethostbyname(socket.gethostname())
Run Code Online (Sandbox Code Playgroud)

然后我列出所有实例:

from oauth2client.client import GoogleCredentials
from googleapiclient.discovery import build

credentials = GoogleCredentials.get_application_default()
self.compute = build('compute', 'v1', credentials=credentials)
result = self.compute.instances().list(project=project, zone=zone).execute()
Run Code Online (Sandbox Code Playgroud)

然后我遍历所有实例以检查内部IP是否与实例的IP匹配:

for instance in result["items"]:
    if instance["networkInterfaces"][0]["networkIP"] == internal_ip:
        internal_id = instance["id"]
Run Code Online (Sandbox Code Playgroud)

这有效但有点复杂,是否有更直接的方法来实现同样的事情,例如使用Google的Python客户端库或gcloud命令行工具?

python google-compute-engine google-cloud-platform

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

无法捕获AWS S3异常

我正在尝试使用Stream API使用以下代码获取S3对象的文件大小:

try{
    $fileSize = filesize("s3://".$bucket."/".$filename);
}catch(Aws\S3\Exception\NoSuchKeyException $e) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果密钥不存在,我会收到以下错误:

[Tue Oct 13 23:03:32 2015] [错误] [客户端54.225.205.152] PHP警告:找不到文件或目录:/ var/www/vendor/aws/aws-中的s3://mybucket/myfile.jpg第774行的sdk-php/src/Aws/S3/StreamWrapper.php

[Tue Oct 13 23:03:32 2015] [错误] [客户端54.225.205.152] PHP警告:filesize():对于/ var/www/api-dev/awsFunc中的s3://mybucket/myfile.jpg,stat失败第278行.php

[Tue Oct 13 23:03:32 2015] [错误] [client 54.225.205.152] PHP致命错误:未捕获的Aws\S3\Exception\NoSuchKeyException:AWS错误代码:NoSuchKey,状态代码:404,AWS请求ID:4A6F1372301D02F7, AWS错误类型:客户端,AWS错误消息:指定的密钥不存在.,User-Agent:aws-sdk-php2/2.8.21 Guzzle/3.9.3 curl/7.22.0 PHP/5.3.10-1ubuntu3.19 \n在第91行的/var/www/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php中抛出

所以,虽然我明确地尝试捕获Aws\S3\Exception\NoSuchKeyException,但系统仍会抛出它.

更新:

我发现了错误.命名空间应该以'\'而不是Aws开头,例如:

try{
    $fileSize = filesize("s3://".$bucket."/".$filename);
}catch(\Aws\S3\Exception\NoSuchKeyException $e) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么当我use命名空间时,命名空间不以'\'开头,但在异常中它需要它.我希望有人解释一下.

php exception-handling amazon-s3 amazon-web-services

5
推荐指数
1
解决办法
5643
查看次数

是否可以忽略硬编码的 pdb 断点?

我使用pdb该函数来调试包含硬编码断点的 Python 2.7 脚本pdb.set_trace()。当我想运行脚本而不在断点处停止时,我必须注释掉所有行pdg.set_trace(),然后当我想在断点处停止时,我必须删除注释,这是非常低效的。有没有办法(例如命令行标志)来执行 python 脚本,忽略所有硬编码断点。例如,许多像 PyCharm 这样的 IDE 都有忽略断点的运行模式和在断点处停止的调试模式。我可以从命令行做类似的事情吗?

debugging command-line python-2.7 pdb

5
推荐指数
1
解决办法
2261
查看次数

System.out.println不在Windows Linux子系统bash中打印

我有一个非常简单的Hello World java程序,它只使用System.out.println以下命令打印一行:

package test;

public class Main {

    public static void main(String[] args) {
        System.out.println("Start");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在Windows终端或本机Linux终端中执行此代码时,它工作正常,当我尝试在Windows子系统Linux(WSL)的Ubuntu bash中执行它时,它没有显示任何内容.如果相反我用System.err.println它打印线.我没有Python的类似问题.

我的java版本是:

java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java stdout stderr ubuntu-14.04 windows-subsystem-for-linux

5
推荐指数
1
解决办法
408
查看次数

ggplot2 geom_order 中的反向堆叠顺序

我试图在面积图上遵循这个ggplot2 教程(不幸的是,它没有评论来问我的问题),但由于某种原因,我的输出与作者的输出不同。我执行以下代码:

library(ggplot2) 
charts.data <- read.csv("copper-data-for-tutorial.csv")

p1 <- ggplot() + geom_area(aes(y = export, x = year, fill = product), data = charts.data, stat="identity")
Run Code Online (Sandbox Code Playgroud)

数据如下:

> charts.data
   product year export percentage   sum
1   copper 2006   4176         79  5255
2   copper 2007   8560         81 10505
3   copper 2008   6473         76  8519
4   copper 2009  10465         80 13027
5   copper 2010  14977         86 17325
6   copper 2011  15421         83 18629
7   copper 2012  14805         82 18079
8   copper 2013 …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 stacked-area-chart

4
推荐指数
1
解决办法
5778
查看次数

Terraform:如何仅在支持请求的实例类型的区域中请求 AWS EC2 实例?

有没有办法在请求实例之前获取实例类型(例如 t3.medium)可用的可用区?我正在尝试运行以下代码,但对于某些区域,它会因以下错误而失败:

Error: Error launching source instance: Unsupported: Your requested instance type (t3.micro) is not supported in your requested Availability Zone (us-east-1e). Please retry your request by not specifying an Availability Zone or choosing us-east-1a, us-east-1b, us-east-1c, us-east-1d, us-east-1f.
Run Code Online (Sandbox Code Playgroud)

显然,我可以手动将可用区域指定为受支持的区域之一,但我想最小化硬编码可用区域。

amazon-ec2 amazon-web-services terraform terraform-provider-aws

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

pyplot - 无法绘制虚线

我正在尝试绘制带有拟合虚线的散点图。

plt.scatter(x, y, s=z, alpha=0.5)
m, b = np.polyfit(x, y, 1)
y = [(m*i) + b for i in x]
plt.plot(x, y,':' )
Run Code Online (Sandbox Code Playgroud)

我附上结果。我的问题是,整条线的长度并没有出现,只有末端出现。我尝试将其更改为虚线,但又遇到了同样的问题。是图片分辨率的问题吗?

在此输入图像描述

python plot matplotlib

2
推荐指数
1
解决办法
4038
查看次数