Using site-packages in Python environment is a natural way to code - You are probably not including any Python package as subdirectory in Your project because it is hard to maintain and project bundle could have an enormous size. On Azure Web App platform we have a huge set of site-packages as I mentioned here.
The use of site-packages is very simple but not obvious. It's because of the fact that site-packages are not in venv and we need to append site-packages path to our venv PATH.
For example, if we want to use requests in our WebJob we can't just import it:
import requests
import time
def ping():
url = 'http://yourapp.azurewebsites.net/'
r = requests.get(url)
print 'OK'
while True:
ping()
time.sleep(180)
Appending site-packages is simple:
import sys
sitepackage = "D:\home\site\wwwroot\env\Lib\site-packages"
sys.path.append(sitepackage)
And together it will look like this:
import sys
sitepackage = "D:\home\site\wwwroot\env\Lib\site-packages"
sys.path.append(sitepackage)
import requests
import time
def ping():
url = 'http://yourapp.azurewebsites.net/'
r = requests.get(url)
print 'OK'
while True:
ping()
time.sleep(180)