How to include the Scrapy library in the Python runtime path - python-3.x

Python beginner here. I downloaded and installed latest version of Python on my Windows 7. I also downloaded the zip file for Scrapy. Now is it just a matter of putting the 'scrapy' folder in the 'Python' installation directory?
How will Python pick up Scrapy? I come from Java background, and am used to putting the jar file under the 'lib' folder. Is it something similar

Did you read the installation instructions?
And if you read the docs you would see that Scrapy works with Python 2.7 -- support for 3.x is work in progress.
If you install Scrapy the default way with pip install scrapy you would not need to care about the Path and the dependencies would be all installed too (something similar to Maven or Gradle but not exactly that).

Related

How to run GTK3 Python3 script outside of MSYS2 in Windows

How can I make my GTK3+ Python script work outside of Msys2's own Python interpreter, into my own venv (virtual environment) Python3 interpreter? I want to prepare my Python 3 script for distribution to other computers, but without Msys2.
I'm using Windows 10.
I've successfully followed the instructions on GTK's website, to download GTK3+ and the Python bindings, in Windows.
I've installed GTK3+ and the Python bindings using MSYS2. My script runs successfully within MSYS2's Python3 interpreter in C:\msys64\mingw64\bin. However, I want to run my Python script outside of MSYS2, with a separate Python 3 interpreter (venv) - not the one in MSYS2.
From my research, it seems that I need to copy the GTK3 .dll files and icons from
C:\msys64\mingw64\bin
and C:\msys64\mingw64\share
to the Python3 interpreter path that I want, with my script files in there too.
But when I attempt to run my script in the virtual environment, I get:
builtins.ImportError: cannot import name '_gi' from 'gi'
Any ideas? Thanks.
I don't know if that is possible.
But if the final intent is to distribute your app, then you should install PyInstaller inside MSYS2 and generate an executable there. Then you'll be able to distribute and execute your app on any Windows machine.
It will only be possible to run your program using the MSYS2 Python interpreter and with all of the required libraries. You can't just copy files and then run them with the Windows Python interpreter that was built using MSVC.
PyInstaller is a good solution to package an app with the interpreter and all of the libraries. The issue you mentioned about getting errors about no module named '_struct' has been fixed.

Installing Python silently

I have my code written in python 3.6.5. I am trying make this an installable package (something like install shield) and wanted to bundle python software also along with this installshield. OS is Windows
Will python work by unzipping the installation directory and then setting path variable?
When I use /quiet for silent installation of python, I could not change the path of installation directory to my choice, say in my case C:\test(even after setting TargetDir=C:\test). Where am I going wrong?
If there any other approach to bundle installation of python along with installation package can someone let me know?
Why not use Pyinstaller? If python is set to path you can run from CMD pip install pyinstaller. Then you can create a standalone exe that will include the python packages to run. Hold shift and open a CMD where your script is and then run a command similar to this
pyinstaller --noconsole --icon=data.ico --version-file=Version.txt -F LineQuery.py
The -F is the standalone package. Be aware though that you need to copy the DLLs from microsoft runtime visual c++ 2015 into the python DLL folder usually located at C:\Users\"user"\AppData\Local\Programs\Python\Python36\DLLs. That is if you package it on windows 10. Otherwise you'll have issues with your program running on earlier versions of windows.
The standalone package will be slow at startup. You can package it into a folder that will be faster. Just remove the -F

Anaconda Python for Gurobi 6.0.4 installation _Py_FalseStruct error

In order to run an optimization problem we set up Gurobi 6.0.4 together with
Anaconda (Version 2.2.0) Python (Python 2.7.9.) on
Linux CentOS release 6.6 (Final) with the 2.6.32-504.16.2.el6.x86_64 Kernel
Following the installation guidelines of Gurobi (listed here: http://www.gurobi.com/documentation/6.0/quickstart_linux.pdf)
everything worked out in the first step. Gurobi was installed, could obtain a license. Also the PATH variables have been set (in the .bashrc) according to the manual, with a little extension for the referal to anaconda python (and not the other local Versions of python (being 2.7 and 3.4):
export GUROBI_HOME="/opt/gurobi604/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin:${PATH}:opt/anaconda/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
Following the procedure we executed: python2.7 setup.py install in the respective directory /opt/gurobi604/linux64. After this usually you could run the import gurobipy command in the python interpreter wihtout errors. For older Versions of Gurobi (as 5.6.3) this works out very well.
For 6.0.4 though we constantly receive the error:
ImportError: /opt/anaconda/lib/python2.7/site-packages/gurobipy/gurobipy.so: undefined symbol: _Py_FalseStruct
This is very reproducible, no matter if we put anaconda also in the global path, and check the bash for any overwriting of the environment variables, which is not the case.
On Windows 8 the Gurobi 6.0.4 and Anaconda Python 2.2.0 work together without any problems.
Also applying hints from here: Python Module Error on Linux did not work out.
Did anyone else experience these problems with this tooling combination? thx.
The error message indicates that you use the Python module for version 3.4 in your Python 2.7 package directory. This can happen if you do not clean your Python module build directory between builds. Please try the following:
Completely remove the 2.7 package from your Python 2.7 installation (e.g. remove /opt/anaconda/lib/python2.7/site-packages/gurobipy)
Completely remove the Python module build directory from your Gurobi installation (e.g. /opt/gurobi604/linux64/build)
Re-run the build process for the Python 2.7 module (e.g. run "python2 setup.py install" in /opt/gurobi604/linux64)
Please note that CentOS is currently a non-supported platform for Gurobi.
Thank you for the hint, I think we tried that, but did not finish the procedure in this way. We tried to clean the system but in that particular case still hat both python Versions (due to other applications that use 3.4) on the machine. Our solution in this case was just to reinstall everything clean on a Ubuntu 14.04 VM. Since then no further problems occured. (I know not the cleanest solution.)
We had some similar issues when we updated to Gurobi 6.5, but that could be solved when corrctly addressing the usual path issues.
Thank you in any case for the reply, I think this really will help us with the next, then clean deployment :-)

Error installing Pygame / Python 3.4.1

I'm trying to install Pygame and it returns me the following error "Python version 3.4 required which was not found in the registry". However I already have the Python 3.4.1 installed on my system. Does anyone know how to solve that problem?
I've been using Windows 8.1
Thanks in advance.
Are you using a 64-bit operating system? Try using the 32-bit installer.
Tips I can provide:
Add Python to your Path file in the Advanced settings of your Environmental Variables (just search for it in the control panel)
Something may have gone wrong with the download of Python, so re-install it. Also don't download the 64-bit version, just download the 32-bit version from the main pygame website
Once that's sorted out, transfer the entire Pygame file to the site packages in the Python directory and open up the pygame file and go to this directory in command prompt. Finally, run the Pygame setup from the command prompt which should be something like:
python setup.py
But this will only work if the pygame setup file is called setup.py (it's been a while since I downloaded it), you added Python to the Path file and you're currently in the correct directory in command prompt.
To test if it worked try importing pygame and see if you got an error or not.

How to create a standalone exe using python 3.4

I have created an exe file using cx_freeze (python 3.4).
Along with the exe there is a library.zip,python34.dll and some .pyd file with it.How can i create a standalone exe so that it can be run on other systems where python is not installed.
A single exe file is all i want.Can this be achieved...??
This question was asked previously as well but i didnt find any suitable solutions in it.Help please.
Thanks
At first .pyd files are python native extensions written in either C or C++ for windows target platform. Next in order to get exe built you will going to need to have pyinstaller package installed (http://www.pyinstaller.org/). You can install it using either "pip install pyinstaller", "easy_install pyinstaller" or just specify it as a dependency within REQUIREMENTS.TXT or SETUP.PY of yours. But this package depends on pywin32 package which can only be installed either manually or with easy_install. It doen't support pip because the only bundle that is available is - exe file format. easy_install handles it though.

Resources