I'd put a lot of focus on honing your skills and creating a portfolio. The reality is if you have a solid portfolio that demonstrates how capable you are as a developer, then that weighs more than most other things. With a solid portfolio, you could probably even just get a job without an internship. If you don't have the work experience, create your experience by actually starting and completing projects. Technically, if you create some projects yourself, you have work experience by technically "working for yourself." ;)
Seriously though, if you do everything you can right now in regards to it, you'll be able to get yourself in there and prove yourself. Even if you can just get an interview somewhere, you can prove yourself when you speak with them and show them what you're made of.
As for switching countries, I can't tell you what to do in that regard. I've only ever lived in my country, so I'm not sure what the market is like elsewhere.
First of all. Do not hesitated to apply for internship that ask for a year experience. Of course it will be their preference but if can convince them you that you want to work hard and are willing to learn. You will get the internship. Make some projects, that show your capabilities.
Changing country's for a internship is a great experience! I did it myself and can tell you, it broadend my view. Be aware that the effort of living in a foreign country will cost you a lot of energy which you cannot spend on learning python or any other proffesional skills.
So not being to able to find a internship is not a good motivation, other country's will prefer programmers with experience as well.
If you want to experience what living outside your own country is like and want to broaden your view. It is a good motivation and highly advise able.
On my resume, it acts like decoration.
This experience made me more aware of the world around me and different cultures, but has been not a decisive for getting a job.
Future employers where more interested in technical skills and attitude.