Je suis en train d'écrire du code pour le noyau Pandas et je me demande si mon flux de travail est correct. Comme l'instance de Travis CI teste les différentes versions de Python, j'ai mis en place une commande pour basculer entre les différentes versions localement afin que je puisse voir si la suite de tests réussit ou échoue.Flux de travail de développement Pandas: extensions C et bâtiment C
Mais chaque fois que je passe entre les environnements je reçois:
ERROR: Failure: ImportError (C extension: libpython2.6.so.1.0: cannot open shared object file: No such file or directory not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first.)
et quand je fais python setup.py build_ext --inplace
je reçois:
/home/some_user/anaconda/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg/setuptools/dist.py:294: UserWarning: The version specified ('0.16.2-134-g84d6eba') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
running build_ext
skipping 'pandas/index.c' Cython extension (up-to-date)
skipping 'pandas/src/period.c' Cython extension (up-to-date)
skipping 'pandas/algos.c' Cython extension (up-to-date)
skipping 'pandas/lib.c' Cython extension (up-to-date)
skipping 'pandas/tslib.c' Cython extension (up-to-date)
skipping 'pandas/parser.c' Cython extension (up-to-date)
skipping 'pandas/hashtable.c' Cython extension (up-to-date)
skipping 'pandas/src/sparse.c' Cython extension (up-to-date)
skipping 'pandas/src/testing.c' Cython extension (up-to-date)
skipping 'pandas/msgpack.cpp' Cython extension (up-to-date)
Alors, comme par @ commentaire de Jeff à this question, je reconstruis les extensions en utilisant:
python setup.py build_ext --inplace --force
Et les choses fonctionnent bien. Mais la construction prend quelques bonnes minutes à courir, et j'ai l'impression de faire quelque chose de mal. (Il ne certainement mentionne pas avoir à forcer une reconstruction dans le guide Contributing to Pandas.
Alors que je fais quelque chose de mal, ou est-ce juste la façon dont cela fonctionne?
Des trucs merveilleux. Merci. Cela pourrait valoir la peine de mettre cela dans le guide du développeur. – LondonRob
sûrement .... voulez faire un PR? – Jeff
en fait je devrais ajouter, que vous pouvez faire '' conda develop conda.receipe'' et il va créer un lien de développement (dans l'env) – Jeff