我已经用 Flask 创建了一个 Python 应用程序,现在我正在尝试将它部署在 Heroku 上。当我尝试推送(使用“git push heroku master”)时,出现以下错误:
raise ValueError("Missing distribution spec", line)
ValueError: ('Missing distribution spec', '<<<<<<< HEAD')
Storing complete log in /app/.pip/pip.log
! Heroku push rejected, failed to compile Python app
To git@heroku.com:bytefinder.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:bytefinder.git'
我对这些东西很陌生。我的应用程序在 localhost 上运行良好,但这是我对 Heroku 的初步推动,我还没有成功部署。我还应该注意,我的应用程序使用带有 sqlite3 的数据库。我知道数据库只能在 Heroku 上使用 postgresql 进行生产(我意识到这一点为时已晚……),因此我可能会因此而遇到一些编译时错误(尽管我的应用程序在我编译时可以正常编译)在本地主机上运行它)。
任何关于此事的建议将不胜感激!
编辑:
这是完整的错误!
-----> Installing dependencies using pip version 1.1
Exception:
Traceback (most recent call last):
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
status = self.run(options, args)
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/pip-1.1-py2.7.egg/pip/commands/install.py", line 219, in run
for req in parse_requirements(filename, finder=finder, options=option
s):
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/pip-1.1-py2.7.egg/pip/req.py", line 1288, in parse_requirements
req = InstallRequirement.from_line(line, comes_from)
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/pip-1.1-py2.7.egg/pip/req.py", line 107, in from_line
return cls(req, comes_from, url=url)
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/pip-1.1-py2.7.egg/pip/req.py", line 40, in __init__
req = pkg_resources.Requirement.parse(req)
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/distribute-0.6.27-py2.7.egg/pkg_resources.py", line 2610, in parse
reqs = list(parse_requirements(s))
File "/tmp/build_16gy6shadhhm2/.heroku/venv/lib/python2.7/site-packages
/distribute-0.6.27-py2.7.egg/pkg_resources.py", line 2523, in parse_requirements
raise ValueError("Missing distribution spec", line)
ValueError: ('Missing distribution spec', '<<<<<<< HEAD')
Storing complete log in /app/.pip/pip.log
! Heroku push rejected, failed to compile Python app
To git@heroku.com:bytefinder.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:bytefinder.git'
android中的自定义微调器错误
我有 2 个旋转器。我正在从数据库中加载微调器数据。当我在第一个微调器中选择任何项目时,根据该项目,第二个微调器应该加载相应的数据。例如,如果在第一个微调器中选择蔬菜,那么只有蔬菜名称应该排在第二位,如果在第一个选择水果,然后水果名称应该排在第二个。如何将第一个微调器中的选定项目传递给我的自定义微调器类?我试图通过该项目,但它让我在第二个微调器的每一行都空白。这是我的代码
// Spinner click listener
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> paramAdapterView,
View paramView, int paramInt, long paramLong) {
// TODO Auto-generated method stub
label = paramAdapterView.getItemAtPosition(paramInt)
.toString();
deviceID = paramInt;
loadSpinnerData1(label);
}
private void loadSpinnerData1(String type) {
// database handler
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
//getting the spinner item depending on what item selected in 1st spinner
List<String> manuft = db.getAllManuft(type);
spinner1.setAdapter(new MyAdapter1(OptionsActivity.this, R.layout.row, manuft,type));
}
我的自定义微调器类
public class MyAdapter1 extends ArrayAdapter<String>{
public MyAdapter1(Context context, int textViewResourceId, List<String> manuft, String type) {
super(context, textViewResourceId, manuft);
}
@Override
public View getDropDownView(int position, View convertView,ViewGroup parent) {
return getCustomView(position, convertView, parent, label);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent, label);
}
public View getCustomView(int position, View convertView, ViewGroup parent, String type) {
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
List<String> manuft = db.getAllManuft(type);
LayoutInflater inflater=getLayoutInflater();
View row=inflater.inflate(R.layout.row, parent, false);
TextView label=(TextView)row.findViewById(R.id.device);
for(int i=0;i<manuft.size();i++){
label.setText(manuft.get(position));
}
return row;
}
}