我正在使用以下命令构建一个Cython程序(称为ex.testpackage):
python setup.py build_ext --inplace
在/home/USER/Documents/testpackage/
这样的文件夹中。构建成功运行但是当我进入另一个文件夹时,我再也无法使用模块testpackage
。是否有另一个命令我可以运行而不是--inplace
,以便我可以在任何文件夹中使用Python import testpackage
?我查看了anaconda/lib/python2.7/site-packages/
文件夹,但在任何地方都没有看到testpackage
的任何引用。这是Cython版本的标准吗?
注意:我使用conda build testpackage
通过.sh文件执行此操作,因此命令python setup.py build_ext --inplace
实际上位于shell文件中。
感谢您的帮助。
答案 0 :(得分:11)
--inplace选项在当前目录中创建共享对象文件(带.so后缀)。要从python使用此模块,此文件必须位于python路径(sys.path)中。
要安装到系统python文件夹运行
python setup.py build_ext
sudo python setup.py install
如果您没有管理员权限,也可以使用
在本地安装python setup.py build_ext
python setup.py install --user