我想在我的Mac上安装枕头.我有python 2.7和python 3.4,都安装了Homebrew.我试过brew install pillow,它工作正常,但只适用于python 2.7.我一直无法找到为python 3安装它的方法.我试过brew install pillow3但没有运气.我在SO上发现了一个帖子,说首先用Homebrew安装pip3然后使用pip3 install pillow.碰巧,我已经安装了pip3.
我从来没有理解安装带有pip的python包和用Homebrew安装它之间的区别,如果有的话.你能解释一下吗?另外,如果公式可用,是否最好安装Homebrew?如果安装Homebrew确实更好,你知道如何用Homebrew安装python 3的枕头吗?
第一个答案表明我没有说清楚.如果我安装了枕头pip install pillow而不是brew install pillow我的系统安装会有什么不同吗?为什么Homebrew会制作一个能够完成pip的公式呢?它会检查额外的先决条件或什么?为什么有一个用python2的枕头配方,但是我用python3告诉你的枕头?
我正在编写我的第一个Android应用程序,而我只是开始使用产品风味.我有一个广告支持的应用程序测试版,我正在编写一个没有广告的付费版本.我想,我可以编译这两种口味.当我打开gradle窗口时,我会看到像"编译AdsDebugSources"和"编译PremiumDebugSources"这样的目标.
现在,如果我双击其中任何一个,构建运行完成没有错误,但我无法弄清楚如何运行结果.如果我点击屏幕顶部的绿色"运行"箭头,我就永远无法运行高级应用.
只有一个条目,"app"导致在连接的设备上安装并运行apk,它是AdsDebug版本.我想我需要添加一个新配置,但我找不到任何甚至提到"味道"这个词的文档.
我已经尝试添加配置,但我不明白这些问题是什么意思.我查看了默认应用程序的设置,但它们似乎没有多大意义.我如何告诉它我想要我的应用程序的高级版本?
或者我的问题与配置无关?我注意到,当我看到Build/Edit Flavors列出的两种风格,但没有填写任何数据字段.我会认为这些将从清单中复制.我忽略了什么吗?
我所做的就是将这些代码添加到app level build.gradle文件:
flavorDimensions "dummy"
productFlavors {
ads {
dimension "dummy"
applicationId 'com.example.myApp.ads'
}
premium {
dimension "dummy"
applicationId 'com.example.myApp.premium'
}
Run Code Online (Sandbox Code Playgroud)
}
我还需要做什么?
如果我在OS X上创建一个tkinter菜单并尝试向其添加菜单按钮,则菜单中add_comand()不会显示任何内容.
如果下面的代码在Ubuntu上运行,我会得到一个带有两个标记为"红色"和"蓝色"的命令的菜单栏,它们会改变窗口的背景颜色.
在OS X 10.10.1(Yosemite)上,按钮不会出现.我知道我可以使用红色和蓝色命令制作一个下拉菜单,但在我的真实应用程序中,我宁愿不这样做.
from platform import python_version_tuple
major = python_version_tuple()[0]
if major == '3':
import tkinter as tk
else:
import Tkinter as tk
root = tk.Tk()
fr = tk.Frame(root, height = 200, width = 200)
fr.pack()
menu = tk.Menu(root)
root.configure(menu=menu)
menu.add_command(label='Red', command=lambda:fr.configure(bg='red'))
menu.add_command(label='Blue', command=lambda:fr.configure(bg='blue'))
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
你能告诉我怎么做我想要的吗?
我正在使用OS X 10.10.5(Yosemite).我正在尝试为MacDown 克隆github repo.README中的说明说克隆后应该这样做
git submodule init
git submodule update
bundle install
bundle exec pod install
Run Code Online (Sandbox Code Playgroud)
我不是一个红宝石程序员,所以我不得不安装Bundler.前两个步骤运行正常,但是当我试图运行时,bundle install我得到了错误
activesupport-5.0.0.1 requires ruby version >= 2.2.2, which is incompatible with the current version, ruby 2.0.0p481
Run Code Online (Sandbox Code Playgroud)
所以我尝试了brew install ruby,现在我有了
saul@miniMac ? ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]
Run Code Online (Sandbox Code Playgroud)
但是,bundle install给我与以前相同的错误消息.很明显,它正在找到红宝石,/usr/bin/ruby而不是那个/usr/local/bin/ruby.我该如何纠正?
我想也许问题是我在升级ruby之前安装了bundler,既没有sudo gem uninstall bundler也没有sudo gem uninstall bundle任何影响,我不知道还有什么可以尝试.
以下是所有输出,如果相关:
saul@miniMac ? bundle install
Fetching gem metadata …Run Code Online (Sandbox Code Playgroud) 这是a的简要定义struct,仅显示问题点.
struct Entry {
// bookkeeping record for managing solution search
std::array<std::array<bool, DIM>, DIM> filled; // which holes have been filled
std::array<std::array<char, MAX>, MAX> cells; // individual cell entries, 0=empty
std::vector<Constraint> overlaps;
std::vector<Hole*>::iterator candidates;
Entry() = default;
};
Run Code Online (Sandbox Code Playgroud)
这实际上是一个错误.我当时认为默认构造函数会对数组进行零初始化,但它只是用随机垃圾填充它们.我现在知道我需要编写默认构造函数,但我对测试时遇到的行为感到困惑.
这是我的测试功能的简化版本:
void testEntry(void) {
Entry e;
std::cout << std::boolalpha;
e.cells[1][2] = 'a';
e.filled[0][0] = true;
for (int i = 0; i < MAX; ++i)
for (int j = 0; j < MAX; ++j)
std::cout<<i<<" "<<j<<" "<<e.cells[i][j]<<std::endl;
for (int i …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 kotlin 中以编程方式发送电子邮件。
这是我的代码,是我从网上找到的 java 示例翻译而来的。
package com.example.emaildemo
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState:Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editTextTo:EditText = findViewById(R.id.editText)
val editTextSubject:EditText = findViewById(R.id.editText2)
val editTextMessage:EditText = findViewById(R.id.editText3)
val button1:Button = findViewById(R.id.button)
button1.setOnClickListener(View.OnClickListener{
val to = editTextTo.getText().toString()
val subject = editTextSubject.getText().toString()
val message = editTextMessage.getText().toString()
val intent = Intent(Intent.ACTION_SEND)
val addressees = arrayOf(to)
intent.putExtra(Intent.EXTRA_EMAIL, addressees)
intent.putExtra(Intent.EXTRA_SUBJECT, subject)
intent.putExtra(Intent.EXTRA_TEXT, message)
intent.setType("message/rfc822")
startActivity(Intent.createChooser(intent, "Select Email Sending App :")) …Run Code Online (Sandbox Code Playgroud) 我是新手,试图读取文件并创建Vector [Vector [Char]].文件的每一行应该产生不同的向量.
这是我想出的:
val empty: Vector[Vector[Char]] = Vector()
lazy val lines: List[String] = Source.fromFile("test.txt").getLines.toList
lazy val vecList: List[Vector[Char]] = lines.map(str => Vector(str: _*))
lazy val vector: Vector[Vector[Char]] = vecList.foldRight(empty) (_ +: _)
Run Code Online (Sandbox Code Playgroud)
该文件永远不会很大,因此可扩展性不是问题.上面的代码似乎有效,但我觉得它在谷仓周围都是如此.有没有更简单,更直接的方法来做到这一点?
我试图通过"Django Book"来学习django,我遇到了CSRF保护问题.我在这里找到了很多建议,但似乎没有一个适合我.
使用Chrome我收到消息:CSRF token missing or incorrect.
使用Internet Explorer我收到消息:CSRF cookie not set.
如果我'django.middleware.csrf.CsrfViewMiddleware'在settings.py中注释掉,一切似乎都有效(虽然当然没有任何东西被邮寄到虚假的地址.)我已经尝试csrf_protect在我的视图上放置一个装饰器,但它没有帮助.我也尝试过对这个调用进行评论,但send_mail我仍然遇到CSRF失败,显然这是导致问题的ContactForm.
(我正在使用django 1.4.1.)
我需要做什么?
from django.shortcuts import render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from contact.forms import ContactForm
from django.template import RequestContext
from django.core.mail import send_mail
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
send_mail(
cd['subject'],
cd['message'],
cd.get('email', 'noreply@example.com'),
['siteowner@example.com'],
)
return HttpResponseRedirect('/contact/thanks/')
else:
form = ContactForm()
return render_to_response('contact_form.html', {'form': form}, context_instance=RequestContext(request)) …Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2010中,即使使用/ Za(struct ANSI)编译器标志,以下代码也可以工作.
string name = "input.txt";
ifstream fin;
fin.open(name);
Run Code Online (Sandbox Code Playgroud)
我能找到的所有文档似乎都表明你必须将一个C字符串传递给ifstream :: open.这真的是ANSI现在,还是微软的扩展,还有/Za旗帜的问题?
谢谢,
索尔
我正在尝试学习Scala,我无法理解这个例子.在Odersky等人的Scala编程9.1中.等,作者产生了这个代码
object FileMatcher {
private def filesHere = (new java.io.File(".")).listFiles
private def filesMatching(matcher: String => Boolean) =
for (file <- filesHere; if matcher(file.getName))
yield file
def filesEnding(query: String) =
filesMatching(_.endsWith(query))
def filesContaining(query: String) =
filesMatching(_.contains(query))
def filesRegex(query: String) =
filesMatching(_.matches(query))
}
Run Code Online (Sandbox Code Playgroud)
它们给出了一个场景,您正在编写一个由其他人编写的客户端代码使用的FileMatcher对象,而这段代码是几次重构的结果.
我理解查询是一个自由变量,但我不明白调用者应该如何使用它.由于Scala是,如果我理解正确,词汇范围,这是一个对象定义,客户端无法在词法封闭范围内定义查询,那么查询来自何处?
你能举个例子说明一个客户端应该如何调用filesEnding来查找以".txt"结尾的所有文件吗?