There are many considerations for choosing a technology to use. When evaluating a project and determining what I am going to use to solve the problem, I typically look at:
1.Project requirements. Am I building software for a bank, where reliability matters more than anything? Or, am I building a consumer web site, where speed matters more? Define the project first.
2.Personal ability. Another important factor for me is what I am comfortable with. I believe that the majority of projects can be implemented in most of the languages/ecosystems that are available. Python, Ruby, Perl and Java all have robust ecosystems and all of them can be used for almost any project team ability. If I am already part of a team, then this consideration trumps my own abilities. If there are four of us, and three of us are Python experts, then we will probably implement the project in Python (absent other overriding concerns).
3.Local support. This is something to keep in mind: if you aren't in the Silicon Valley, then you may be concerned about how many people in the local area use the tech you're looking at. When it comes to getting off the ground, having people you can grab coffee with to discuss design and implementation is a boon.
4.Host207 environment support. This is less relevant to a new startup where the field is wide open. However, if your team is only familiar with Google App Engine or Heroku(or has a reason to use one of them, such as nobody who knows how to actually configure Apache), those will dictate your solution to a degree.