Hi,
Yes it appears difficult at first, because there are a lot of variables. Temperature and DC bias are typical influences, as well as the material variation itself. But it's also been tried and done for ages now, so it's not impossible. It's a matter of knowing how to apply the theory and what differences from ideal to expect and how to effectively deal with them.
Two typical formulas for inductance are (length dimensions are in centimeters):
L=1.26*10^-8*N*N*u*A/(gap*u+c) {L in Henries}
and
L=N*N*AL*1e-6 {L in mH}
It's obvious that AL is equal to:
AL=1.26*10^-2*u*A/(gap*u+c)
but this AL value is usually given on the manufacturers data sheet for the core.
For example, if we have a core with AL=1000 (check data sheet for actual core and units) and with 45 turns we have:
L=45*45*1000/1000000=2.025 mH
However we must make sure that the AL for a given manufacterers core is in the same units as above. They usually give a formula for inductance along with their version of what AL is for their cores. In this example AL was in units of nH/N^2 or in words, nanohenries per number of turns squared. Sometimes they misstate this parameter too, stating it as "inductance per 1000 turns" but that's not really what it is
DC bias affects the core substantially. That's because the bias pushes the operating point up along the BH curve, and the BH curve flattens out more and more the higher we get, and the flatter the BH curve is the lower the permeability and the lower the permeability the lower the inductance. Since this is so dependent on the actual BH curve for the material, it's best to review the curve for that material to get a good idea how the inductance will change when we apply a DC bias. Note that the more turns on a core the more a DC bias affects the core, and the higher the AL value the more DC bias affects it too, bringing it more into saturation and thus lower inductance.
There are a few other problems that come up too such as do all the turns fit inside the toroid window, and surface area vs heating. Here's a drawing of a toroid core center window that is entirely filled up with wire. If we needed more turns, we'd have to go to a larger core.