Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RuntimeError: b'no arguments in initialization list'

I'm trying to solve my issue in my own but I couldn't, I'm trying to run this code in every format you can imagine and in ArcGIS pro software it's the same I can't find this error message in any other issue. From similar issues, it seems some data files could be missing?

import geopandas as gpd
import json
import numpy as np
from shapely.geometry import LineString, Point, box
import ast
from pyproj import Proj
paths = road_features.SHAPE.map(lambda x: np.array(ast.literal_eval(x)["paths"][0]))
pathLineStrings = paths.map(LineString)
gdf = gpd.GeoDataFrame(road_features,geometry=pathLineStrings)
#gdf.crs = {'init': 'epsg:3857'}
gdf.crs = {'init': 'epsg:4326'}
gdf = gdf.to_crs({'init': 'epsg:4326'})

i get this error

RuntimeError: b'no arguments in initialization list'

also i tried it in arcgis pro i got the same

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\geopandas\geodataframe.py", line 443, in to_crs
    geom = df.geometry.to_crs(crs=crs, epsg=epsg)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\geopandas\geoseries.py", line 304, in to_crs
    proj_in = pyproj.Proj(self.crs, preserve_units=True)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\pyproj\__init__.py", line 362, in __new__
    return _proj.Proj.__new__(self, projstring)
  File "_proj.pyx", line 129, in _proj.Proj.__cinit__
RuntimeError: b'no arguments in initialization list'
like image 350
Maram Mubarak Avatar asked Mar 28 '19 05:03

Maram Mubarak


5 Answers

to make sure this is pyproj error rather than geopandas.

import pyproj
pyproj.Proj("+init=epsg:4326")

if the above runtime error is the same, we can be sure this error is due to pyproj.

just conda remove pyproj and install it with pip.

pip install pyproj

at least this works for me.

Today(July 30), I resintalled from miniconda, conda remove pyproj did not work for me, instead I pip uninstall pyproj and pip install pyproj makes everything fine.

like image 111
Stone Shi Avatar answered Oct 12 '22 11:10

Stone Shi


The problem is problably within the pyproj instalation of Anaconda on Windows platform. Just like Stephen said, solution is to edit the path in "datadir.py" (located in ...Anaconda3\Lib\site-packages\pyproj).

Correct path is ".../Anaconda3/Library/share". Make sure full path is complete (may contain username etc.). I also needed to change \ to /. This change worked for me. Yes and after this change, it is necesary to restart Spyder (or whatever you use).

like image 38
Dorregaray Avatar answered Oct 12 '22 10:10

Dorregaray


Is there an initial crs defined? I ran into the same problem only when I passed only the epsg command: gdf.to_crs('epsg:4326').

As you show

my_geoseries.crs = {'init' :'epsg:3857'}

should be the first step and then transforming to

gdf = gdf.to_crs({'init': 'epsg:4326'})

If you are working in ArcGIS you could also check in the properties whether the initial epsg is defined ?

like image 23
Trish Avatar answered Oct 12 '22 11:10

Trish


I'm using Pycharm. I had to use a combination of both Stone Shi's remark and Dorregaray's.

import pyproj
pyproj.Proj("+init=epsg:4326")
> RuntimeError: b'no arguments in initialization list'

According to Stone Shi, the above proves that it's a pyproj err. So I used Pycharm->Settings and reinstalled pyproj. Then

import pyproj
pyproj.Proj("+init=epsg:4326")
> RuntimeError: b'no arguments in initialization list'

So, it's a pyproj err but Pycharm->Settings reinstalling pyproj does not help me.

I then edited my C:\Anaconda3\Lib\site-packages\pyproj\datadir.py from:

pyproj_datadir="C:/Anaconda3\share\proj"

to Dorregaray's:

pyproj_datadir="C:\Anaconda3\Library\share"

Then test again:

import pyproj
pyproj.Proj("+init=epsg:4326")
>Process finished with exit code 0

No Runtime Error!

Then test on my

wgs84  = data.to_crs({'init': 'epsg:4269'})
>Process finished with exit code 0
like image 39
JDOaktown Avatar answered Oct 12 '22 11:10

JDOaktown


For me upgrading pyproj and geopandas, fixed this issue:

pip install pyproj --upgrade 
pip install geopandas --upgrade 
like image 27
Dr. Arslan Avatar answered Oct 12 '22 10:10

Dr. Arslan