Depends on your skill set, timeline and effort I'd say.
If you don't know much about development, want something rapid then Shopify etc. If you do have development knowledge and want something more flexible then use Opencart or similar.
If you have time, money and skills too, could potentially do your own solution with a web framework. That's the most flexible but like anything, has its own advantages and disadvantages.