Chamakh has been battling for game-time at Arsenal, while QPR midfielder Taarabt is omitted after allegedly refusing to meet coach Rachid Taoussi, despite saying he is desperate to play at the Nations Cup.
However, Liverpool winger Oussama Assaidi will make the trip to South Africa, as will Aston Villa’s Karim El Ahmadi.
The Atlas Lions are in Group A alongside hosts South Africa, Cape Verde Islands and Angola.
Goalkeepers: Nadir Lamyaghri (Wydad Casablanca), Anas Zniti (MAS), Khalid Askiri (Raja Casablanca)
Defenders: Abderahim Chakir and Younes Bekakhdar (both FAR Rabat), Mehdi Benatia (Udinese, Italy), Issam El Adoua (Guimaraes, Portugal), Ahmed Kantari (Stade Brest, France), Abdelhamid El Kaoutari (Montpellier, France), Zakarya Bergdich (Lens, France)
Midfielders: Karim El Ahmadi (Aston Villa, England), Adil Hermach (Al Hilal, Saudi Arabia), Kamal Chafni (Stade Brest, France), Mehdi Namli (Moghreb Tetouan), Younes Belhanda (Montpellier, France), Abdelaziz Barrada (Getafe, Spain), Chahir Belghazouani (Ajaccio, France)
Forwards: Oussama Assaidi (Liverpool, England), Adeliliah Hafidi (Raja Casablanca), Youssef Kadioui (FAR Rabat) Abderrazak Hamdallah (Olympique Safi), Youssef El Arabi (Granada, Spain), Mounir El Hamdaoui (Fiorentina, Italy), Nordin Amrabat (Galatasaray, Turkey)