我一直在嘗試在Azure上的Django Web App上安裝某些python包。我正在嘗試使用requirements.txt和pips輪盤文件安裝軟件包,如此處所示https://blogs.msdn.microsoft.com/azureossds/2015/06/29/install-native-python-modules-on-azure-web-apps-api-apps/用python和pip輪安裝Azure web應用程序
問題是,pip似乎無法找到wheelhouse文件夾。 wheelhouse文件夾位於我的應用程序目錄的根目錄,我還保留requirements.txt,manage.py,readme.md和web.config文件。
這裏就是我的requirements.txt
文件看起來像:在駕駛室夾
--find-links wheelhouse
django<2
pyodbc==4.0.17
django-pyodbc-azure==1.11.0
我這裏還有文件:
~/myapp/wheelhouse/django_pyodbc_azure-1.11.0.0-py2.py3-none-any.whl
~/myapp/wheelhouse/Django-1.11.4-py2.py3-none-any.whl
~/myapp/wheelhouse/pyodbc-4.0.17-cp27-cp27m-win_amd64.whl
~/myapp/wheelhouse/pyodbc-4.0.17-cp27-cp27m-win32.whl
我從這裏下載的pyodbc .whl文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/
django_pyodbc_azure-1.11.0.0-py2.py3-none-any.whl
文件是通過使用安裝了python的windows C++編譯器的windows筆記本電腦創建的(https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266)
當按下提交到服務器我還是
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 730 bytes | 0 bytes/s, done.
Total 7 (delta 3), reused 0 (delta 0)
remote: Updating branch 'master'.
remote: ......................................................................
remote: Updating submodules.
remote: Preparing deployment for commit id '7feb3f4dde'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling python deployment.
remote: Detected requirements.txt. You can skip Python specific steps with a .skipPythonDeployment file.
remote: Detecting Python runtime from site configuration
remote: Detected python-2.7
remote: Deleting incompatible virtual environment.
remote: .....................................................................................
remote: Creating python-2.7 virtual environment.
remote: ...
remote: New python executable in env\Scripts\python.exe
remote: ........................................
remote: Installing setuptools, pip...done.
remote: Pip install requirements.
remote: .
remote: Downloading/unpacking django<2 (from -r requirements.txt (line 2))
remote: .........................
remote: Downloading/unpacking pyodbc==4.0.17 (from -r requirements.txt (line 3))
remote: Running setup.py (path:D:\home\site\wwwroot\env\build\pyodbc\setup.py) egg_info for package pyodbc
remote:
remote: Downloading/unpacking django-pyodbc-azure==1.11.0 (from -r requirements.txt (line 4))
remote: Downloading/unpacking pytz (from django<2->-r requirements.txt (line 2))
remote: Installing collected packages: django, pyodbc, django-pyodbc-azure, pytz
remote: .............................................................................................................................
remote: Running setup.py install for pyodbc
remote: building 'pyodbc' extension
remote: error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
remote: Complete output from command D:\home\site\wwwroot\env\Scripts\python.exe -c "import setuptools, tokenize;__file__='D:\\home\\site\\wwwroot\\env\\build\\pyodbc\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record d:\local\temp\pip-hgg_tz-record\install-record.txt --single-version-externally-managed --compile --install-headers D:\home\site\wwwroot\env\include\site\python2.7:
remote: running install
remote:
remote: running build
remote:
remote: running build_ext
remote:
remote: building 'pyodbc' extension
remote:
remote: error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
remote:
remote: ----------------------------------------
remote: Cleaning up...
remote: ..................................................................................................................................
remote: Command D:\home\site\wwwroot\env\Scripts\python.exe -c "import setuptools, tokenize;__file__='D:\\home\\site\\wwwroot\\env\\build\\pyodbc\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record d:\local\temp\pip-hgg_tz-record\install-record.txt --single-version-externally-managed --compile --install-headers D:\home\site\wwwroot\env\include\site\python2.7 failed with error code 1 in D:\home\site\wwwroot\env\build\pyodbc
remote: Storing debug log for failure in D:\home\pip\pip.log
remote: An error has occurred during web site deployment.
remote:
remote: Error - Changes committed to remote repository but deployment to website failed.
我爲我做錯了什麼在這裏真糊塗。有任何想法嗎?一個猜測是,駕駛室文件夾應該移動到一個子目錄?我試圖將它移動到腳本下的app env文件夾中,但它也不起作用。
謝謝你的時間。
編輯
於是,我就從我的捻控制檯直接運行的腳本,這裏是我得到的錯誤:
D:\home\site\wwwroot\env\Scripts\pip run on 08/25/17 15:51:48
pyodbc-4.0.17-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Exception information:
Traceback (most recent call last):
File "D:\home\site\wwwroot\env\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "D:\home\site\wwwroot\env\lib\site-packages\pip\commands\install.py", line 257, in run
InstallRequirement.from_line(name, None))
File "D:\home\site\wwwroot\env\lib\site-packages\pip\req.py", line 167, in from_line
raise UnsupportedWheel("%s is not a supported wheel on this platform." % wheel.filename)
UnsupportedWheel: pyodbc-4.0.17-cp27-cp27m-win32.whl is not a supported wheel on this platform.
很好,謝謝!問題在於pip的舊版本,這似乎是對它的一種解決方案。 – P4nd4b0b3r1n0