小编Lor*_*ole的帖子

没有实现绑定 - Java Guice

新手在这里试图使用一个虚拟Java Facebook应用程序,使用Guice将数据库依赖注入Facebook工厂,但继续让Guice错误告诉我:

###在查找使用@ com.example.storage.annotations.SystemDb注释的com.example.storage.Db时,没有使用@ com.example.storage.annotations.SystemDb()注释的com.example.storage.Db的实现. ()for com.example.facebook.client.exceptions.FacebookExceptionHandlerDb中的参数0,位于com.example.facebook.client.guice.FacebookClientModule.configure

###无法在com.example.facebook.statsd.StatsdClient中找到合适的构造函数.类必须有一个(也是唯一一个)使用@Inject注释的构造函数或一个非私有的零参数构造函数.at com.example.facebook.statsd.StatsdClient.class,同时在com.example.facebook.client.exceptions.FacebookExceptionHandlerDb中找到参数1的com.example.facebook.statsd.StatsdClient.com.example.facebook.client.guice.FacebookClientModule.configure

应用代码:

app.java

package com.example.facebook;

import com.google.inject.Guice;
import com.restfb.Connection;
import com.restfb.types.Post;
import com.example.facebook.client.FacebookClientFactory;
import com.example.facebook.client.RobustFacebookClient;
import com.example.facebook.client.guice.FacebookClientModule;
import com.example.facebook.statsd.StatsdClient;

public class App  {
    public static void main ( String[] args ) {
          final FacebookClientFactory facebookClientFactory =
            Guice.createInjector(new FacebookClientModule()).getInstance(FacebookClientFactory.class);
          //error from line above
          final RobustFacebookClient robustFacebookClient =
            facebookClientFactory.create("accessToken");
          //more ...
    }
Run Code Online (Sandbox Code Playgroud)

结果错误指向我FacebookClientModule绑定:

FacebookClientModule.java

public class FacebookClientModule extends AbstractModule {
    bind(FacebookExceptionHandler.class).to(FacebookExceptionHandlerDb.class);
    //error resulting from the failed binding on the FacebookExceptionHandlerDB class

    install(new …
Run Code Online (Sandbox Code Playgroud)

java annotations dependency-injection guice

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

Python scikit svm"ValueError:X每个样本有62个特征;期望337"

使用Python的scikit SVM线性支持向量分类,当我尝试进行预测时遇到错误:

ten_percent = len(raw_routes_data) / 10

# Training
training_label = all_labels[ten_percent:]
training_raw_data = raw_routes_data[ten_percent:]
training_data = DictVectorizer().fit_transform(training_raw_data).toarray()


learner = svm.LinearSVC()
learner.fit(training_data, training_label)

# Predicting
testing_label = all_labels[:ten_percent]
testing_raw_data = raw_routes_data[:ten_percent]
testing_data = DictVectorizer().fit_transform(testing_raw_data).toarray()

testing_predictions = learner.predict(testing_data)


m = metrics.classification_report(testing_label, testing_predictions)
Run Code Online (Sandbox Code Playgroud)

raw_data表示为Python字典,其中包含各种旅行选项的到达时间类别以及天气数据的类别:

{'72_bus': '6.0 to 11.0', 'uber_eta': '2.0 to 3.5', 'tweet_delay': '0', 'c_train': '1.0 to 4.0', 'weather': 'Overcast', '52_bus': '16.0 to 21.0', 'uber_surging': '1.0 to 1.15', 'd_train': '17.6666666667 to 21.8333333333', 'feels_like': '27.6666666667 to 32.5'}
Run Code Online (Sandbox Code Playgroud)

当我训练和拟合训练数据时,我在90%的数据上使用Dictionary Vectorizer并将其转换为数组.

提供的testing_labels表示为:

[1,2,3,3,1,2,3, ... ] …
Run Code Online (Sandbox Code Playgroud)

python machine-learning svm scikit-learn

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

无法连接到Docker提供的Jupyter Notebook

我一直在学习Docker的最终目标是使用它来提供和分享Jupyter笔记本.下面是Dockerfile的示例:

FROM python:2
ENV PYTHONUNBUFFERRED 1
RUN pip install jupyter

RUN useradd --create-home --home-dir /home/docker --shell /bin/bash docker
RUN adduser docker sudo

ADD start.sh /home/docker/start.sh
RUN chmod +x /home/docker/start.sh
RUN chown docker /home/docker/start.sh

ADD prod_sentiment.ipynb /home/docker/prod_sentiment.ipynb
ADD output.txt /home/docker/output.txt
RUN chmod +x /home/docker/output.txt
RUN chown docker /home/docker/output.txt

EXPOSE 8888
RUN usermod -a -G sudo docker
RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
USER docker

ENV HOME=/home/docker
ENV SHELL=/bin/bash
ENV USER=docker

RUN printenv
CMD ./home/docker/start.sh
Run Code Online (Sandbox Code Playgroud)

start.sh文件看起来像这样:

#! /bin/sh …
Run Code Online (Sandbox Code Playgroud)

bash docker jupyter-notebook docker-for-mac

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

Jinja2 模板在 Django 1.9 中不起作用

根据Django 1.9 教程中的说明,我在项目根目录中添加了另一个文件,其中包含环境设置 -

from __future__ import absolute_import  # Python 2 only

from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.urlresolvers import reverse

from jinja2 import Environment


def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': staticfiles_storage.url,
        'url': reverse,
    })
    return env`
Run Code Online (Sandbox Code Playgroud)

(允许加载正确的jinja2我必须以不同的方式重命名文件,在这种情况下jinja2env.py在项目根目录中)

我更新settings.py了新的模板后端:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(PROJECT_ROOT, 'templates').replace('\\','/')],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
{
    'BACKEND': "django.template.backends.jinja2.Jinja2",
    'DIRS': [os.path.join(PROJECT_PATH, 'campaigns/templates').replace('\\','/')],
    "APP_DIRS": True,
    "OPTIONS": {
        'environment': …
Run Code Online (Sandbox Code Playgroud)

python django templates jinja2

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