Make the crust: Pulse the flour, 2 tablespoons butter, the shortening, granulated sugar and salt in a food processor until it looks like fine meal. Add the remaining 4 tablespoons butter and pulse until it is in pea-size pieces. Drizzle in 2 to 3 tablespoons cold water and pulse until the dough just comes together. Turn out onto a piece of plastic wrap; use the plastic to help form the dough into a disk. Wrap tightly and refrigerate until firm, at least 1 hour or overnight. (The dough can be frozen for up to 2 months; thaw at room temperature.)
Roll out the dough into a 13-inch round on a lightly floured surface. Ease into a 9 1/2-inch deep-dish pie plate, fold the overhanging dough under itself and crimp the edge with your fingers. Chill at least30 minutes.
Preheat the oven to 350 degrees F. Line the crust with foil and fill with pie weights or dried beans. Bake until golden around the edge, about 20 minutes. Remove the foil and weights; continue baking until golden all over, 10 to 15 more minutes. Transfer to a rack and let cool completely.
Make the topping: Combine the flour, nuts, brown sugar, butter and salt in a medium bowl; squeeze into clumps, transfer to a plate and freeze until hard, about 30 minutes.
Meanwhile, make the filling: Gently whisk the sweet potato, evaporated milk, granulated sugar, eggs, cinnamon, ginger and nutmeg in a large bowl. Pour into the crust. Transfer to a baking sheet and bake 30 minutes. Scatter the topping on the pie and continue baking until the center is almost set but still jiggles slightly, 30 to 45 more minutes. Transfer to a rack and let cool completely.