how to install a repository from github? - python

I want to install the following github repository, yet I recieve an error. what am I doing wrong?
pip install git+https://github.com/gablum/DeepHit.git
I got the following error:
ERROR: Cannot unpack file /tmp/pip-unpack-w7qkjzy3/DeepHit (downloaded from /tmp/pip-req-build-nmcpks7w, content-type: text/html; charset=utf-8); cannot detect archive format
ERROR: Cannot determine archive format of /tmp/pip-req-build-nmcpks7w

To install a thing with pip the thing must be an installable package. The repository is not a Python package — it doesn't have setup.py, it doesn't even have __init__.py. It's not a package and cannot be installed.
To use it you should ask the source how the code is supposed to be used. I suspect the answer will include manipulations with PYTHONPATH or copying the code directly into your working directory.

To download a repository just use git clone https://github.com/repository-name-here.git
What you do next depends on the repository. In your case I would take a look at the documentation of the repository itself which can often be found on GitHub too.

Related

Where did my python module install to?

I'm running python 3.6 via anaconda 3, using Visual Studio Code.
I followed instructions like these (Interactive Brokers API install) and downloaded the package to a local directory of mine say: c:\dev\pyib, so now the code is in c:\dev\pyib\IbPy-master
I open that directory in command line and run
python setup.py install
All runs ok.
But then my program, which is in c:\dev\pyib says Module not found. (In my case ibapi). The linter is also showing red.
There is no other python installed on this pc.
Where did the package install to? and how do I check that? What will I find where the package installed itself to that shows me its there?
Or do I have to use a trial-and-error with the linter and sys.path.append()? (I tried that with the directory where the files are downloaded to - to no avail)
I'm trying to set up the PYTHONPATH using the "env" in launch.json from Visual Studio Code, as shown in this unaccepted answer.
Current sys.path:
'c:\\dev\\pyIb',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\python36.zip',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\DLLs',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-
packages',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin'
I deleted the ib directory and re-ran the install. The last line says: Writing C:\Users\user\AppData\Local\Continuum\anaconda3\Lib\site-pac‌​kages\IbPy2-0.8.0-py‌​3.6.egg-info So is the location of the egg-info the location of my undetected module? The actual folder in the site-packages is called ib.
Or could my problems be because of a difference in Lib vs. lib with the lowercase in the sys.path and the uppercase in the actual directory?
But the real question here is still: HOW DO I KNOW WHERE the package was installed what should I search for?
This answer is specific for anaconda3 Python and packages installed using python setup.py install (which is actually using distutils)
Take a look at anaconda3\Lib\site-packages you should see a directory for the package you installed.
The way to know for sure where your package is, is by doing a pip list then trying to pip uninstall and re-install again using the python setup.py install: Here are the detailed instructions:
When uninstalling, pip will tell you it cannot because it was done via distutils.
You'll get a message like this:
DEPRECATION: Uninstalling a distutils installed project (ibpy2) has been deprecated and will be removed in a future version.
This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
You'll be prompted to continue anyway. If you choose No, then you can find the directory in
C:\Users\<yourusername>\AppData\Local\Continuum\anaconda3\Lib\site-packages
Thanks to Emanuel Mtali for pointing me in the right direction
Some more information:
The problem I had was due to a stupid mistake of mine. I was running setup of a different (but related) package not used anymore. IbPy2 instead of TwsAPI. I was supposed to run the setup.py of the package installed via the latest version of the MSI from IB, and NOT the IbPy2 package. :-(

python - pip: What are the files installed exactly?

I am trying to upgrade a python package called "bokeh", that is containing an "examples" directory in its ditribution files:
Here the link to the distribution file:
https://pypi.python.org/pypi/bokeh/0.12.10
And here an image showing the content of the tar.gz file:
I can see the "examples" directory that i am after is present.
However if i pip install --upgrade bokeh, only the directory "bokeh" (the first one in the image) is installed on my machine.
How can i have this "example" directory to be install as well eventually?
It is meant that way because of the sample data size needed for the examples provided. This is from the documentation:
Some of the Bokeh examples rely on sample data that is not included in
the Bokeh GitHub repository or released packages, due to their size.
Once Bokeh is installed, the sample data can be obtained by executing
the following command at a Bash or Windows prompt:
bokeh sampledata
or, run this in your python interpreter:
import bokeh.sampledata
bokeh.sampledata.download()
Normal pip installations are not supposed to be "looked into" by the user. Depending on your system they might end up in
/usr/local/lib/python2.7/site-packages
or
$PYTHON_HOME/lib/python2.7/site-packages
or somewhere entirely else.
Instead you should Git clone the repo (or download the tarball from there) and install the directory (an editable install)
git clone https://github.com/bokeh/bokeh.git
pip install -e bokeh/
that way the library you are using is directly next to the examples you are using:
import bokeh
directly imports the code you just downloaded.
Alternatively you can install bokeh from PyPI and just git clone or download the repository to get the examples. But you should be aware that
import bokeh
doesn't import the library you just downloaded, but the one you installed earlier.

missing packages in mobaxterm apt-get session

When attempting to install Python in MobaXterm, two packages are not found in the local repository. I have found at least one of them in an external repository and I would like to configure my terminal to use another repository beside the one indicated in the example directory tree as follows:
http://mirrors.kernel.org/sourceware/cygwin/release/cygwin-devel
Either that or I would like to change the package version to one that exists in this location, but then I worry about package versioning issues.
Or a third option would be to download the packages I find in the other locations and install them using the same terminal I used to install the other Python packages.
Here are the two packages with issues:
Installing cygwin-devel
Downloading cygwin-devel-2.7.0-1.tar.xz...
Downloading /home/mobaxterm/.aptcyg/http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin/release/cygwin-devel/cygwin-devel-2.7.0-1.tar.xz using Windows internet settings
sha512sum: can't open 'cygwin-devel-2.7.0-1.tar.xz': No such file or directory
/bin/apt-cyg: line 476: test: 8f382e85417a4efa951607776be66cf91381e4075bcc4458da40141951305675faff4890bd2723de91483725c5d5bd726128355a2de41a0c743428b2829fe48c: unary operator expected
md5sum: can't open 'cygwin-devel-2.7.0-1.tar.xz': No such file or directory
/bin/apt-cyg: line 479: test: 8f382e85417a4efa951607776be66cf91381e4075bcc4458da40141951305675faff4890bd2723de91483725c5d5bd726128355a2de41a0c743428b2829fe48c: unary operator expected
Checksum did not match, exiting
Installing libexpat1
Downloading libexpat1-2.2.0-0.tar.xz...
Downloading /home/mobaxterm/.aptcyg/http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin/release/libexpat1/libexpat1-2.2.0-0.tar.xz using Windows internet settings
sha512sum: can't open 'libexpat1-2.2.0-0.tar.xz': No such file or directory
/bin/apt-cyg: line 476: test: a39f95f129fc7abe1e22f71925844dac0160f7c536f01bb8e5cc1f9b23f19266dd95e633a4e44d6b4ad792aa25c2a69b473dd06400ef4e7dab02e88877020455: unary operator expected
md5sum: can't open 'libexpat1-2.2.0-0.tar.xz': No such file or directory
/bin/apt-cyg: line 479: test: a39f95f129fc7abe1e22f71925844dac0160f7c536f01bb8e5cc1f9b23f19266dd95e633a4e44d6b4ad792aa25c2a69b473dd06400ef4e7dab02e88877020455: unary operator expected
Checksum did not match, exiting
Thanks in advance for any insights that might lead me to resolve this and have a clean Python installation.
I found a workaround - hopefully. In essence, the setup.ini file on the repository references a version of the packages that actually does not exist on that repository. After reading up on apt-get I learned that I could pass a legacy flag to get an earlier version of the package installed:
[micro.MSI] ➤ apt-get install --legacy libexpat1
Found package libexpat1
Installing libexpat1
Downloading libexpat1-2.2.0-0.tar.xz...
Unpacking libexpat1-2.2.0-0.tar.xz...
Extracting dependencies for usr/bin/cygexpat-1.dll...
Package libexpat1 requires the following packages, installing cygwin
Package cygwin is already installed, skipping
Package libexpat1 installed.
Rebasing new libraries
This might introduce versioning issues, but the dependency was already there, as it should be since it was installed in the earlier python installation. Now I can see if I can get the other modules installed for my project.
If anyone else has advice about this package management issue, please chime in. I am wondering if I should notify the source repository owners about their setup.ini file pointing to versions that do not exist.

ImportError : cannot import name '_win32stdio'

I am working with Scrapy framework to scrap out data from website, but getting the following error in command prompt:
ImportError: cannot import name '_win32stdio'
Traceback is attached as a screenshot.
Kindly revert if require directory structure of my program's directory.
Scrapy can work with Python 3 on windows if you make some minor adjustments:
Copy the _win32stdio and _pollingfile to the appropriate directory under site-packages. Namely, twisted-dir\internet. Download these from https://github.com/twisted/twisted/tree/trunk/twisted/internet
pip install pypiwin32
Granted, this is based on my personal experience. Because the repository will certainly change in the future, readers should beware the age of this answer.
Update: the twisted-win package is no longer required because the appropriate files are now included in the twisted package.
I have gone through the same. I have resolved by updating the twisted package
pip install --upgrade twisted
or
pip uninstall twisted and pip install twisted
get whl of twisted (from below link) according to your os and py version and you are good to go!
https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

PyPi versioning

Newbie here. I've created my first Python package and I managed to register it on Pypi, as well as upload the tar.gz file. Now whenever I want to run:
pip install myPackage
I get this error in console:
Could not find a version that satisfies the requirement myPackage (from versions: 1.0dev)
No distributions matching the version for flashCardStudy
Storing debug log for failure in /Users/xxx/Library/Logs/pip.log
I believe this is because my version is development version I guess? So yeah, I can install it by adding --pre argument but what I'd really like is to turn it into a normal version so to speak.
I've tried figuring out how to do it and looking at some docs but I can't still figure it out. In my setup.py my version is set to '1.0' so I don't see where to problem is. If anyone wants to have a look at the file, here it is.
So I found the problem. I used utility called Paster which generates package structure, including setup.py and setup.cfg files among others. My utility hasn't been updated in a while and meanwhile submission rules to PyPi have changed. It now requires certain setup.py structure and unless it passes via pip, it's labeled as development version - which pip does not install without --pre argument.
So I just went to PyPi pages and looked at setup.py tutorial, did it their way and now it works.

Categories