新手在这里试图使用一个虚拟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
应用代码:
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
绑定:
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) 使用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) 我一直在学习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) 根据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)