Faits :
A.
Le 1er juillet 1999, A.X._, ressortissante portugaise née en 1973, a épousé B.X._, ressortissant portugais titulaire d'une autorisation d'établissement. Le 14 juillet 2000, le Service de la population du canton de Vaud (ci-après: le Service cantonal) a délivré à l'intéressée une autorisation de séjour à titre de regroupement familial. Le 17 juillet 2002, une autorisation de séjour UE/AELE lui a été octroyée pour une durée de cinq ans. Celle-ci a été renouvelée le 29 juillet 2007 pour une nouvelle durée de cinq ans.
Les époux se sont séparés le 16 octobre 2009. Aucun enfant n'est issu de cette union. Entre 2002 et 2012, l'intéressée a occupé plusieurs emplois, notamment en qualité d'employée de maison pendant près de trois ans pour le compte de C._ SA à Crissier et de D._ Sàrl à Tolochenaz et ensuite comme nettoyeuse à Cossonay pendant deux ans. Du 1er juillet 2012 au 28 février 2013, l'intéressée a travaillé comme aide-soignante pour les personnes âgées. Depuis le 1er mars 2013, elle est sans emploi et perçoit le revenu d'insertion.
B.
Le 30 août 2013, le Service de la population du canton de Vaud (ci-après: le Service cantonal) a informé l'intéressée de son intention de ne pas renouveler son autorisation de séjour. Par décision du 10 janvier 2014, le Service cantonal a refusé de renouveler son autorisation de séjour et ordonné son renvoi.
Par arrêt du 2 décembre 2014, le Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal) a rejeté le recours interjeté par A.X._ contre la décision du Service cantonal.
C.
Agissant par la voie du recours en matière de droit public, A.X._ demande au Tribunal fédéral, sous suite de dépens, d'inviter le canton de Vaud à renouveler son autorisation de séjour. Elle requiert également des mesures provisionnelles et demande d'être mise au bénéfice de l'assistance judiciaire partielle.
Le Service cantonal renonce à se déterminer sur le recours et le Tribunal cantonal se réfère à son arrêt et conclut au rejet du recours. Le Secrétariat d'Etat aux migrations conclut au rejet du recours.
Par ordonnance présidentielle du 20 décembre 2014, la requête tendant à l'octroi de l'effet suspensif a été admise.
Considérant en droit :
1.
Le Tribunal fédéral examine d'office et librement la recevabilité des recours qui lui sont soumis (art. 29 al. 1 LTF; cf. ATF 138 I 475 consid. 1 p. 476 et les arrêts cités).
1.1. Selon l'art. 83 let. c ch. 2 LTF, le recours en matière de droit public est irrecevable contre les décisions en matière de droit des étrangers qui concernent une autorisation à laquelle ni le droit fédéral, ni le droit international ne donnent droit. Si l'intéressé fait valoir qu'il a droit à une autorisation de séjour sur la base de l'accord du 21 juin 1999 entre la Confédération suisse, d'une part, et la Communauté européenne et ses Etats membres, d'autre part, sur la libre circulation des personnes (ALCP; RS 0.142.112.681), le Tribunal fédéral entre en matière du seul fait que celui-ci est un ressortissant de l'Union européenne, examinant ensuite avec le fond si l'accord donne effectivement un tel droit (cf. ATF 131 II 339 consid. 1.2 p. 343; arrêt 2C_470/2014 du 29 janvier 2015 consid. 1.1).
En l'espèce, en sa qualité de ressortissante portugaise, la recourante peut, en principe, prétendre à l'octroi d'une autorisation de séjour en Suisse, en vertu du droit à la libre circulation que lui confère l'ALCP. Son recours échappe par conséquent au motif d'irrecevabilité prévu à l'art. 83 lettre c ch. 2 LTF.
1.2. En revanche, en tant que la recourante fait valoir une violation de l'art. 20 de l'ordonnance du 22 mai 2002 sur l'introduction progressive de la libre circulation des personnes (OLCP; RS 142.203), disposition qui permet la délivrance d'une autorisation de séjour UE/AELE "lorsque des motifs importants l'exigent", le recours en matière de droit public est irrecevable dans la mesure où cette disposition ne confère aucun droit à une autorisation de séjour (cf. art. 83 let. c ch. 2 et 5 LTF; arrêts 2C_470/2014 du 29 janvier 2015 consid. 1.2 et 2C_19/2012 du 26 septembre 2012 consid. 1.2).
2.
2.1. Saisi d'un recours en matière de droit public, le Tribunal fédéral contrôle librement la violation du droit fédéral et du droit international (cf. art. 95 let. a et b; art. 106 al. 1 LTF), sous réserve des exigences de motivation figurant à l'art. 106 al. 2 LTF. Aux termes de cet alinéa, le Tribunal fédéral n'examine la violation de droits fondamentaux que si ce grief a été invoqué et motivé par le recourant.
2.2. L'examen du Tribunal fédéral se fonde sur les faits constatés par l'autorité précédente (cf. art. 105 al. 1 LTF), à moins que ces faits n'aient été établis de façon manifestement inexacte (ATF 137 I 58 consid. 4.1.2 p. 62; arrêt 2C_701/2013 du 26 juillet 2014 consid. 3.1, non publié in ATF 140 I 257) ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (art. 99 al. 1 LTF).
3.
3.1. Le Tribunal cantonal a considéré que la recourante ne remplissait pas les conditions pour l'obtention d'un titre de séjour pour "personne n'exerçant pas une activité économique" (cf. chap. V Annexe I ALCP), car elle ne disposait pas des moyens financiers suffisants pour assurer sa subsistance, au sens de l'art. 24 Annexe I ALCP. A raison, l'intéressée ne remet pas en cause ce point de l'arrêt attaqué: au bénéfice de l'aide sociale, elle ne réalise manifestement pas cette condition.
3.2. La recourante reproche à l'instance précédente d'avoir considéré qu'elle avait perdu la qualité de travailleuse salariée au sens de l'art. 6 par. 1 Annexe I ALCP. Le litige porte dès lors sur la question de savoir si c'est à bon droit que l'autorité précédente a refusé de renouveler l'autorisation de séjour UE/AELE de l'intéressée pour une deuxième fois au sens de cette disposition.
3.3. L'art. 6 par. 1 Annexe I ALCP prévoit que le travailleur salarié ressortissant d'une partie contractante (ci-après: le travailleur) qui occupe un emploi d'une durée égale ou supérieure à un an au service d'un employeur de l'Etat d'accueil reçoit un titre de séjour d'une durée de cinq ans au moins à dater de sa délivrance. Celui-ci est automatiquement prolongé pour une durée de cinq ans au moins. Lors du premier renouvellement, sa durée de validité peut être limitée, sans pouvoir être inférieure à un an, lorsque son détenteur se trouve dans une situation de chômage involontaire depuis plus de douze mois consécutifs.
Les prolongations ultérieures du titre de séjour sont soumises à la condition que l'intéressé conserve la qualité de travailleur (cf. EPINEY/ BLASER, in Code annoté des droit des migrations, vol. III, Accord sur la libre circulation des personnes [ALCP], 2014, no 27 ad art. 4).
3.4. Aux termes de l'art. 16 par. 2 ALCP, dans la mesure où l'application de l'Accord implique des notions de droit communautaire, il sera tenu compte de la jurisprudence pertinente de la Cour de justice des Communautés européennes (actuellement: Cour de justice de l'Union européenne; ci-après: la Cour de justice ou CJCE) antérieure à la date de sa signature. La jurisprudence postérieure à la date de la signature de l'Accord est cependant prise en compte par le Tribunal fédéral pour assurer le parallélisme du système qui existait au moment de la signature de l'Accord et tenir compte de l'évolution de la jurisprudence de l'Union européenne (ATF 136 II 5 consid. 3.4 p. 12 et les références citées, 65 consid. 3.1 p. 70; arrêt 2C_390/2013 du 10 avril 2014 consid. 3.1).
La qualité de travailleur salarié constitue une notion autonome de droit de l'UE, qui doit s'interpréter en tenant compte de la jurisprudence de la Cour de justice (cf. ATF 131 II 339 consid. 3.1 p. 344 s.; arrêt 2C_1061/2013 du 14 juillet 205 consid. 4.2; EPINEY/BLASER, L'accord sur la libre circulation des personnes et l'accès aux prestations étatiques: un aperçu, in Libre circulation des personnes et accès aux prestations étatiques, 2015, p. 40; ZÜND/HUGI YAR, Staatliche Leistungen und Aufenthaltsbeendigung unter dem FZA, in Libre circulation des personnes et accès aux prestations étatiques, 2015, p. 187; EPINEY/BLASER, in Code annoté des droit des migrations, vol. III, Accord sur la libre circulation des personnes [ALCP], 2014, no 23 ad art. 4).
Le Tribunal fédéral a déjà eu l'occasion de préciser que, conformément à la jurisprudence de la Cour de justice, la notion de travailleur, qui délimite le champ d'application du principe de la libre circulation des travailleurs, doit être interprétée de façon extensive, tandis que les exceptions et dérogations à cette liberté fondamentale doivent, au contraire, faire l'objet d'une interprétation stricte (arrêts de la CJCE Kempf du 3 juin 1986, 139/85, point 13 et Levin du 23 mars 1982, 53/1981, point 13; cf. ATF 131 II 339 consid. 3.2 p. 345; arrêt 2C_390/2013 du 10 avril 2014 consid. 3.1). Doit ainsi être considérée comme un "travailleur" la personne qui accomplit, pendant un certain temps, en faveur d'une autre personne et sous la direction de celle-ci, des prestations en contrepartie desquelles elle touche une rémunération (arrêts de la CJCE Brian Francis Collins du 23 mars 2004, C-138/02, point 26 et Lawrie-Blum du 3 juillet 1986, 66/85, points 16 et 17; cf. arrêts 2C_1061/2013 du 14 juillet 2015 consid. 4.2.1 et 2C_390/2013 du 10 avril 2014 consid. 3.1). Cela suppose l'exercice d'activités réelles et effectives, à l'exclusion d'activités tellement réduites qu'elles se présentent comme purement marginales et accessoires (arrêts de la CJCE Petersen du 28 février 2013 C-544/11, point 30; Bernini du 26 février 1992 C-3/90, Rec. 1992 I-1071, point 14, Brown du 21 juin 1988 197/86, Rec. 1988 p. 3205, point 21, Kempf, op. cit., point 10 et Levin, op. cit., point 17; cf. ATF 131 II 339 consid. 3.2 p. 346; arrêt 2C_495/2014 du 26 septembre 2014 consid. 3.1).
Une fois que la relation de travail a pris fin, l'intéressé perd en principe la qualité de travailleur, étant entendu cependant que, d'une part, cette qualité peut produire certains effets après la cessation de la relation de travail et que, d'autre part, une personne à la recherche réelle d'un emploi doit être qualifiée de travailleur (arrêts Caves Krier Frères Sàrl du 13 décembre 2012 C-379/11, destiné à la publication, point 26, Rundgren du 10 mai 2001 C-389/99, Rec. 2001 I-3731, point 32 et Martinez Sala du 12 mai 1998 C-85/96, Rec. 1998 I-2719, point 32).
3.5. Une autorisation de séjour UE/AELE peut être révoquée ou ne pas être renouvelée lorsque les conditions requises pour sa délivrance ne sont plus remplies (cf. art. 23 al. 1 OLCP; arrêt 2C_390/2013 du 10 avril 2014 consid. 3.2; ZÜND/ARQUINT HILL, § 8 Beendigung der Anwesenheit, Entfernung und Fernhaltung, in Ausländerrecht, 2e éd. no 8.37 p. 333). Cela ne signifie cependant pas que ces conditions initiales doivent rester remplies de manière ininterrompue; ainsi, une personne qui a obtenu une autorisation de séjour UE/AELE au regard de sa qualité de travailleur, puis qui tombe au chômage involontaire ou se trouve en incapacité temporaire de travail due à une maladie ou à un accident continue à bénéficier de son autorisation et celle-ci peut même, à certaines conditions, être prolongée (cf. arrêt 2C_390/2013 du 10 avril 2014 consid. 3.2; ZÜND/ ARQUINT HILL, § 8 Beendigung der Anwesenheit, Entfernung und Fernhaltung, in Ausländerrecht, 2e éd. 2009, no 8.37 p. 333; cf. aussi MARCEL DIETRICH, Die Freizügigkeit der Arbeitnehmer in der Europäischen Union, 1995, p. 293).
3.6. En procédant à une interprétation de ces principes, le Tribunal fédéral a jugé qu'un étranger au bénéfice d'une autorisation de séjour UE/AELE peut perdre le statut de travailleur au sens de l'ALCP et par conséquent se voir refuser la prolongation, respectivement se voir révoquer l'autorisation de séjour dont il est titulaire si 1) il se trouve dans un cas de chômage volontaire; 2) on peut déduire de son comportement qu'il n'existe (plus) aucune perspective réelle qu'il soit engagé à nouveau dans un laps de temps raisonnable (cf. ATF 141 II 1 consid. 2.2.1 p. 4; arrêt de la CJUE du 26 mai 1993 C-171/91 Tsiotras, Rec. 1993 I-2925 point 14) ou 3) il adopte un comportement abusif p. ex. en se rendant dans un autre Etat membre pour y exercer un travail fictif ou d'une durée extrêmement limitée dans le seul but de bénéficier de prestations sociales meilleures que dans son Etat d'origine ou que dans un autre Etat membre (ATF 141 II 1 consid. 2.2.1 p. 4 et 131 II 339 consid. 3.4 p. 347; arrêts 2C_412/2014 du 27 mai 2014 consid. 3.2 et 2C_390/2013 du 10 avril 2014 consid. 3.2, 4.3).
4.
Dans le présent cas, la recourante s'est vue délivrer une autorisation de séjour UE/AELE le 17 juillet 2002 pour une durée de cinq ans. Celle-ci a été renouvelée le 29 juillet 2007 pour une nouvelle durée de cinq ans. La question qui se pose est de savoir si l'intéressée a perdu la qualité de travailleur salarié compte tenu de l'évolution de sa situation depuis cette date-là.
4.1. Comme le relève à juste titre la recourante, une autorisation de séjour UE/AELE ne peut être révoquée pour la seule raison qu'un ancien travailleur fait appel à l'aide sociale (cf. arrêt 2C_412/2014 du 27 mai 2014 consid. 3.2; SILVIA GASTALDI, L'accès à l'aide sociale dans le cadre de l'ALCP in Libre circulation des personnes et accès aux prestations étatiques, 2015, p. 141). Or, en l'espèce, le Tribunal cantonal n'a pas refusé de renouveler l'autorisation de séjour de la recourante pour ce motif uniquement, mais parce qu'il a considéré que la recourante avait perdu le statut de travailleur salarié, ce que l'intéressée conteste en soutenant qu'elle "est réellement à la recherche d'un emploi et doit de ce fait, en application de la jurisprudence de la CJCE, être considérée comme travailleuse" (mémoire de recours, p. 4).
4.2. Le Tribunal cantonal a jugé que l'intéressée avait perdu le statut de travailleuse au motif qu'elle était sans emploi depuis vingt mois au moment de l'arrêt attaqué et qu'elle est assistée par les services sociaux depuis le mois de mars 2013. En outre, depuis 2007, l'intéressée avait alterné des périodes d'emploi et des périodes sans occupation. Entre 2000 et 2012, elle avait occupé sept emplois différents pour des périodes allant de six à vingt-sept mois. Entre le 1er décembre 2009 et le 30 juin 2012, elle avait perçu pour 57'655 fr. 75 de prestations d'assistance. Sur la base de ces éléments, l'instance précédente a considéré qu'on pouvait "sérieusement se demander si [la recourante] sera en mesure de trouver un emploi durable" (arrêt attaqué, p. 9).
4.3. Il est vrai que, depuis 2007, la recourante a connu des périodes d'inactivité. Il ressort cependant des faits constatés par l'autorité précédente que du 1er juillet 2012 au 28 février 2013, l'intéressée a travaillé comme aide-soignante pour les personnes âgées au sein de la Fondation D._, à Romanel-sur-Lausanne pour un salaire mensuel brut de 3'748 fr. Il est incontestable que pendant cette période, l'intéressée avait le statut de travailleuse au sens de la jurisprudence précitée. Or, déjà en août 2013, soit quelques mois après que l'intéressée se soit retrouvée dans une situation de chômage involontaire, en raison de la fin de son contrat de travail, le Service cantonal a informé celle-ci de son intention de ne pas renouveler son autorisation de séjour UE/AELE.
Il ressort cependant du dossier que la recourante a été très activement à la recherche d'un emploi depuis 2013 et a produit tout au long de la procédure les nombreuses offres d'emploi qu'elle avait faites, ainsi que les réponses reçues par de potentiels employeurs. Ainsi, contrairement à d'autres cas dans lesquels le Tribunal fédéral a confirmé un non-renouvellement ou une révocation de l'autorisation de séjour UE/AELE (cf. p.ex. 2C_390/2013 du 10 avril 2014 consid. 5.3), la recourante a apporté la preuve qu'elle était à la recherche réelle d'un emploi au sens de la jurisprudence précitée.
Par ailleurs, l'autorité précédente ne peut pas être suivie lorsqu'elle soutient que la recourante ne sera vraisemblablement pas en mesure de trouver un emploi durable "compte tenu de son manque de qualification professionnelle" (arrêt attaqué, p. 9). En effet, pour maintenir le statut de travailleur, la jurisprudence n'exige pas que l'intéressé "trouve un emploi durable" mais qu'il ait une "perspective réelle de travail" (cf. ATF 141 II 1 consid. 2.2.1; arrêt 2C_412/2014 du 27 mai 2014 consid. 3.2), ce qui semble être le cas de la recourante, dans la mesure où elle a travaillé pendant de nombreuses années en Suisse et qu'elle a suivi plusieurs formations professionnelles, notamment en 2012 comme aide-soignante auprès de la Croix-Rouge, domaine dans lequel elle a précisément ensuite travaillé entre 2012 et 2013.
4.4. En se référant à l'ATF 130 II 388, le Tribunal cantonal a considéré que "quoi qu'il en soit", la recourante avait largement dépassé le terme d'une année prévu par l'art. 18 al. 3 OLCP, accordé aux ressortissants communautaires qui recherchent activement un emploi (cf. arrêt attaqué, p. 9). D'une part, cet arrêt ne concerne pas la question de la perte du statut de travailler salarié, de sorte qu'il ne peut pas être transposé au cas de la recourante. D'autre part, l'instance précédente perd de vue que l'art. 18 OLCP, qui s'applique en premier lieu aux séjours de courte durée pour des ressortissants communautaires à la recherche d'un emploi (cf. art. 2 par. 1 al. 2 Annexe I ALCP; ATF 130 II 388 consid. 3.1 p. 391), ne vise pas le cas de la recourante, qui est une ressortissante communautaire qui travaille et réside légalement en Suisse depuis 14 ans - dont 12 ans au bénéfice d'une autorisation de séjour UE/AELE -, qui se trouve en situation de chômage involontaire depuis mars 2013 et qui est activement à la recherche d'un nouvel emploi.
4.5. Compte tenu de l'ensemble de ces éléments, et en particulier du fait que du 1er juillet 2012 au 28 février 2013, l'intéressée avait le statut de travailleuse salariée et que, depuis lors, elle se trouve dans une situation de chômage involontaire et qu'elle déploie de nombreux efforts effectifs en vue de retrouver un emploi, l'on ne peut pas affirmer qu'en raison de son comportement, elle n'a plus de perspective réelle de retrouver un travail au sens de la jurisprudence précitée (supra consid. 3.6). C'est dès lors à tort que l'instance précédente a conclu que la recourante avait perdu le statut de travailleuse salariée.
4.6. En conclusion, en déniant à la recourante le droit de séjourner en Suisse au bénéfice d'une autorisation UE/AELE, au motif qu'elle avait perdu le statut de travailleuse communautaire, les précédents juges ont méconnu l'art. 6 par. 1 ALCP.
Ce qui précède vaut pour le moment où le jugement attaqué a été rendu, soit au 2 décembre 2014. Cependant, dans la mesure où un certain délai s'est écoulé entre la date à laquelle l'arrêt attaqué a été rendu et la date du présent arrêt, le renvoi de la cause au Service cantonal ne signifie pas nécessairement que l'autorisation de la recourante doit être renouvelée. La portée des autorisations UE/AELE n'est pas constitutive mais simplement déclaratoire (ATF 136 II 329 consid. 2.2 p. 332; 134 IV 57 consid. 4 p. 58). Il se peut que, dans l'intervalle, l'intéressée ait retrouvé un emploi, de sorte que la question du maintien de son statut de travailleuse salariée n'est plus remis en cause. Il est cependant aussi possible que, compte tenu de l'écoulement du temps et du comportement de l'intéressée depuis l'arrêt attaqué, il convienne d'apprécier la situation de manière différente.
Il s'ensuit que le recours doit être admis et l'arrêt attaqué annulé, la cause étant renvoyée au Service cantonal pour qu'il rende une nouvelle décision dans le sens des considérants.
5.
Au vu de ce qui précède, l'arrêt sera rendu sans frais (art. 66 al. 1 et 4 LTF). La recourante étant représentée par une juriste qui n'est pas avocate et qui a formulé un mémoire de recours adéquat, des dépens seront alloués à la recourante en application de l'art. 9 du règlement du 31 mars 2006 sur les dépens alloués à la partie adverse et sur l'indemnité pour la représentation d'office dans les causes portées devant le Tribunal fédéral (RS 173.110.210.3; cf. arrêts 2C_1061/2013 du 14 juillet 2015 consid. 8; 2C_546/2013 du 5 décembre 2013 consid. 5 et 2C_370/2012 du 29 octobre 2012 consid. 4). Ceux-ci seront mis à la charge du canton de Vaud (art. 68 al. 1, 2 et 4 LTF cum art. 66 al. 5 LTF). L'affaire sera également renvoyée au Tribunal cantonal pour fixation des frais et dépens de la procédure cantonale (art. 67 et 68 al. 5 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis et l'arrêt du Tribunal cantonal du 2 décembre 2014 annulé.
2.
La cause est renvoyée au Service cantonal pour qu'il se prononce dans le sens des considérants.
3.
La cause est renvoyée au Tribunal cantonal afin qu'il statue à nouveau sur le sort des frais et dépens de la procédure devant lui.
4.
Il n'est pas perçu de frais judiciaires.
5.
Le canton de Vaud versera à la recourante une indemnité de 1'500 fr. à titre de dépens.
6.
Le présent arrêt est communiqué au représentant de la recourante, au Service de la population et au Tribunal cantonal du canton de Vaud, Cour de droit administratif et public, ainsi qu'au Secrétariat d'Etat aux migrations.
Lausanne, le 8 décembre 2015
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Zünd
La Greffière : Thalmann